Skip to content

Commit 39b3e5f

Browse files
author
Sandro Santilli
committed
Allow db_manager use of connections with no parameters
Fixes 'Error: database "" does not exist' message. Closes bug #9037
1 parent acc6271 commit 39b3e5f

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

python/plugins/db_manager/db_plugins/postgis/connector.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from ..connector import DBConnector
2929
from ..plugin import ConnectionError, DbError, Table
3030

31+
import os
3132
import psycopg2
3233
import psycopg2.extensions
3334
# use unicode!
@@ -42,14 +43,11 @@ class PostGisDBConnector(DBConnector):
4243
def __init__(self, uri):
4344
DBConnector.__init__(self, uri)
4445

45-
self.host = uri.host()
46-
self.port = uri.port()
47-
self.dbname = uri.database()
48-
self.user = uri.username()
49-
self.passwd = uri.password()
50-
51-
if self.dbname == '' or self.dbname is None:
52-
self.dbname = self.user
46+
self.host = uri.host() or os.environ.get('PGHOST')
47+
self.port = uri.port() or os.environ.get('PGPORT')
48+
self.user = uri.username() or os.environ.get('PGUSER') or os.environ.get('USER')
49+
self.dbname = uri.database() or os.environ.get('PGDATABASE') or self.user
50+
self.passwd = uri.password() or os.environ.get('PGPASSWORD')
5351

5452
try:
5553
self.connection = psycopg2.connect( self._connectionInfo().encode('utf-8') )

0 commit comments

Comments
 (0)