Signed-off-by: Thomas Petazzoni <[email protected]>
---
 ocitysmap2.conf-template |    2 ++
 ocitysmap2/__init__.py   |   11 ++++++++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/ocitysmap2.conf-template b/ocitysmap2.conf-template
index 9a53ac8..1681be1 100644
--- a/ocitysmap2.conf-template
+++ b/ocitysmap2.conf-template
@@ -3,6 +3,8 @@ host=localhost
 user=maposmatic
 password=mysecurepasswd
 dbname=maposmatic
+# Optional database port, defaults to 5432
+# port=5432
 
 [rendering]
 # List of available stylesheets, each needs to be described by an eponymous
diff --git a/ocitysmap2/__init__.py b/ocitysmap2/__init__.py
index b7a648a..5743272 100644
--- a/ocitysmap2/__init__.py
+++ b/ocitysmap2/__init__.py
@@ -235,14 +235,19 @@ class OCitySMap:
 
         # Database connection
         datasource = dict(self._parser.items('datasource'))
-        LOG.info('Connecting to database %s on %s as %s...' %
-                 (datasource['dbname'], datasource['host'],
+        # The port is not a mandatory configuration option, so make
+        # sure we define a default value.
+        if not datasource.has_key('port'):
+            datasource['port'] = 5432
+        LOG.info('Connecting to database %s on %s:%s as %s...' %
+                 (datasource['dbname'], datasource['host'], datasource['port'],
                   datasource['user']))
 
         db = psycopg2.connect(user=datasource['user'],
                               password=datasource['password'],
                               host=datasource['host'],
-                              database=datasource['dbname'])
+                              database=datasource['dbname'],
+                              port=datasource['port'])
 
         # Force everything to be unicode-encoded, in case we run along Django
         # (which loads the unicode extensions for psycopg2)
-- 
1.7.4.1


Reply via email to