diff options
| author | Julien Danjou <julien@danjou.info> | 2017-03-01 18:07:21 +0100 |
|---|---|---|
| committer | Julien Danjou <julien@danjou.info> | 2017-03-01 18:07:21 +0100 |
| commit | 6eea97c3efe6dee6c2c036a581354aaa9b8ef5fa (patch) | |
| tree | 10cf9d42721b6af8d4ce4eabab15c9a6aed32080 /tooz/drivers/pgsql.py | |
| parent | 45220d4d50ddc73ff7fac5c3660fd052b394b224 (diff) | |
| download | tooz-6eea97c3efe6dee6c2c036a581354aaa9b8ef5fa.tar.gz | |
postgresql: only pass username and password if they are set1.50.0
Passing None makes psycopg2 >= 2.7 use the string "None" as a role rather than
nothing like it used to do.
Change-Id: Idf575930ea363a7e7e613ebdca4595a9ca8f7389
Diffstat (limited to 'tooz/drivers/pgsql.py')
| -rw-r--r-- | tooz/drivers/pgsql.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/tooz/drivers/pgsql.py b/tooz/drivers/pgsql.py index f989f8d..56f7cc3 100644 --- a/tooz/drivers/pgsql.py +++ b/tooz/drivers/pgsql.py @@ -178,8 +178,7 @@ class PostgresDriver(coordination.CoordinationDriver): self._options = utils.collapse(options) def _start(self): - self._conn = PostgresDriver.get_connection(self._parsed_url, - self._options) + self._conn = self.get_connection(self._parsed_url, self._options) def _stop(self): self._conn.close() @@ -216,15 +215,17 @@ class PostgresDriver(coordination.CoordinationDriver): host = options.get("host") or parsed_url.hostname port = options.get("port") or parsed_url.port dbname = options.get("dbname") or parsed_url.path[1:] - username = parsed_url.username - password = parsed_url.password + kwargs = {} + if parsed_url.username is not None: + kwargs["username"] = parsed_url.username + if parsed_url.password is not None: + kwargs["password"] = parsed_url.password try: return psycopg2.connect(host=host, port=port, - user=username, - password=password, - database=dbname) + database=dbname, + **kwargs) except psycopg2.Error as e: utils.raise_with_cause(coordination.ToozConnectionError, _format_exception(e), |
