mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-05-18 06:32:08 -04:00
@@ -1428,7 +1428,7 @@ class Engine(Connectable, log.Identified):
|
||||
echo = log.echo_property()
|
||||
|
||||
def __repr__(self):
|
||||
return 'Engine(%s)' % str(self.url)
|
||||
return 'Engine(%r)' % self.url
|
||||
|
||||
def dispose(self):
|
||||
"""Dispose of the connection pool used by this :class:`.Engine`.
|
||||
|
||||
@@ -62,12 +62,13 @@ class URL(object):
|
||||
self.database = database
|
||||
self.query = query or {}
|
||||
|
||||
def __str__(self):
|
||||
def __to_string__(self, hide_password=True):
|
||||
s = self.drivername + "://"
|
||||
if self.username is not None:
|
||||
s += self.username
|
||||
if self.password is not None:
|
||||
s += ':' + util.quote_plus(self.password)
|
||||
s += ':' + ('***' if hide_password
|
||||
else util.quote_plus(self.password))
|
||||
s += "@"
|
||||
if self.host is not None:
|
||||
s += self.host
|
||||
@@ -81,6 +82,12 @@ class URL(object):
|
||||
s += '?' + "&".join("%s=%s" % (k, self.query[k]) for k in keys)
|
||||
return s
|
||||
|
||||
def __str__(self):
|
||||
return self.__to_string__(hide_password=False)
|
||||
|
||||
def __repr__(self):
|
||||
return self.__to_string__()
|
||||
|
||||
def __hash__(self):
|
||||
return hash(str(self))
|
||||
|
||||
|
||||
@@ -277,6 +277,10 @@ pool_timeout=10
|
||||
assert e.url.drivername == e2.url.drivername == 'mysql'
|
||||
assert e.url.username == e2.url.username == 'scott'
|
||||
assert e2.url is u
|
||||
assert str(u) == 'mysql://scott:tiger@localhost/test'
|
||||
assert repr(u) == 'mysql://scott:***@localhost/test'
|
||||
assert repr(e) == 'Engine(mysql://scott:***@localhost/test)'
|
||||
assert repr(e2) == 'Engine(mysql://scott:***@localhost/test)'
|
||||
|
||||
def test_poolargs(self):
|
||||
"""test that connection pool args make it thru"""
|
||||
|
||||
Reference in New Issue
Block a user