Skip to content

Commit e246387

Browse files
author
James William Pye
committed
Don't allow prompting from direct connection acquisition.
Generalize driver configuration while we're at it.
1 parent 11d3bac commit e246387

3 files changed

Lines changed: 11 additions & 18 deletions

File tree

postgresql/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,7 @@ def open(iri = None, prompt_title = None, **kw):
6868
list(pg_param.denormalize_parameters(iri_params)) + \
6969
list(pg_param.denormalize_parameters(kw))
7070
)
71-
# Resolve the password, but never prompt.
72-
pg_param.resolve_password(params, prompt_title = prompt_title)
71+
pg_param.resolve_password(params)
7372

7473
C = pg_driver.default.fit(**params)
7574
if return_connector is True:

postgresql/driver/dbapi20.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ def rollback(self):
375375
self._xact.start()
376376

377377
driver = pg_driver.Driver(connection = Connection)
378-
def connect(prompt_title = None, **kw):
378+
def connect(**kw):
379379
"""
380380
Create a DB-API connection using the given parameters.
381381
"""
@@ -384,6 +384,5 @@ def connect(prompt_title = None, **kw):
384384
list(pg_param.denormalize_parameters(std_params)) + \
385385
list(pg_param.denormalize_parameters(kw))
386386
)
387-
# Resolve the password, but never prompt.
388-
pg_param.resolve_password(params, prompt_title = prompt_title)
387+
pg_param.resolve_password(params)
389388
return driver.connect(**params)

postgresql/driver/pq3.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2146,9 +2146,11 @@ def __init__(self,
21462146
sslkeyfile : "filepath" = None,
21472147
sslrootcrtfile : "filepath" = None,
21482148
sslrootcrlfile : "filepath" = None,
2149+
driver = None,
21492150
**kw
21502151
):
21512152
super().__init__(**kw)
2153+
self.driver = driver
21522154

21532155
self.server_encoding = server_encoding
21542156
self.connect_timeout = connect_timeout
@@ -2219,13 +2221,11 @@ def socket_factory_sequence(self):
22192221
return self._socketcreators
22202222

22212223
def __init__(self,
2222-
driver,
22232224
host : "IPv4 Address (str)" = None,
22242225
port : int = None,
22252226
ipv = 4,
22262227
**kw
22272228
):
2228-
self.driver = driver
22292229
if ipv != self.ipv:
22302230
raise TypeError("'ipv' keyword must be '4'")
22312231
if host is None:
@@ -2242,7 +2242,7 @@ def __init__(self,
22422242
self._socketcreators = (
22432243
self._socketcreator,
22442244
)
2245-
super().__init__(**kw)
2245+
super().__init__(*args, **kw)
22462246

22472247
class IP6(SocketConnector):
22482248
'Connector for establishing IPv6 connections'
@@ -2251,13 +2251,11 @@ def socket_factory_sequence(self):
22512251
return self._socketcreators
22522252

22532253
def __init__(self,
2254-
driver,
22552254
host : "IPv6 Address (str)" = None,
22562255
port : int = None,
22572256
ipv = 6,
22582257
**kw
22592258
):
2260-
self.driver = driver
22612259
if ipv != self.ipv:
22622260
raise TypeError("'ipv' keyword must be '6'")
22632261
if host is None:
@@ -2281,8 +2279,7 @@ class Unix(SocketConnector):
22812279
def socket_factory_sequence(self):
22822280
return self._socketcreators
22832281

2284-
def __init__(self, driver, unix = None, **kw):
2285-
self.driver = driver
2282+
def __init__(self, unix = None, **kw):
22862283
if unix is None:
22872284
raise TypeError("'unix' is a required keyword and cannot be 'None'")
22882285
self.unix = unix
@@ -2313,14 +2310,12 @@ def socket_factory_sequence(self):
23132310
]
23142311

23152312
def __init__(self,
2316-
driver,
23172313
host : str = None,
23182314
port : (str, int) = None,
23192315
ipv : int = None,
23202316
address_family : "address family to use(AF_INET,AF_INET6)" = None,
23212317
**kw
23222318
):
2323-
self.driver = driver
23242319
if host is None:
23252320
raise TypeError("'host' is a required keyword")
23262321
if port is None:
@@ -2346,16 +2341,16 @@ def _e_metas(self):
23462341
yield (None, type(self).__module__ + '.' + type(self).__name__)
23472342

23482343
def ip4(self, **kw):
2349-
return IP4(self, **kw)
2344+
return IP4(driver = self, **kw)
23502345

23512346
def ip6(self, **kw):
2352-
return IP6(self, **kw)
2347+
return IP6(driver = self, **kw)
23532348

23542349
def host(self, **kw):
2355-
return Host(self, **kw)
2350+
return Host(driver = self, **kw)
23562351

23572352
def unix(self, **kw):
2358-
return Unix(self, **kw)
2353+
return Unix(driver = self, **kw)
23592354

23602355
def fit(self,
23612356
unix = None,

0 commit comments

Comments
 (0)