[SQL-CVS] r4338 - in SQLObject/trunk/sqlobject: . tests
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: <sub...@co...> - 2011-02-24 13:02:45
|
Author: phd Date: Thu Feb 24 06:02:17 2011 New Revision: 4338 Log: Fixed a bug - splitpasswd() can return None. Added a test for quoted special characters. Modified: SQLObject/trunk/sqlobject/dbconnection.py SQLObject/trunk/sqlobject/tests/test_parse_uri.py Modified: SQLObject/trunk/sqlobject/dbconnection.py ============================================================================== --- SQLObject/trunk/sqlobject/dbconnection.py Tue Feb 22 07:44:08 2011 (r4337) +++ SQLObject/trunk/sqlobject/dbconnection.py Thu Feb 24 06:02:17 2011 (r4338) @@ -177,7 +177,7 @@ if '@' in host: user, host = host.split('@', 1) if user: - user, password = [urllib.unquote(x) for x in urllib.splitpasswd(user)] + user, password = [x and urllib.unquote(x) or None for x in urllib.splitpasswd(user)] host, port = urllib.splitport(host) if port: port = int(port) elif host == '': Modified: SQLObject/trunk/sqlobject/tests/test_parse_uri.py ============================================================================== --- SQLObject/trunk/sqlobject/tests/test_parse_uri.py Tue Feb 22 07:44:08 2011 (r4337) +++ SQLObject/trunk/sqlobject/tests/test_parse_uri.py Thu Feb 24 06:02:17 2011 (r4338) @@ -48,9 +48,9 @@ assert path == "/full/path/to/socket/database" assert args == {} - user, password, host, port, path, args = _parseURI("postgres://user:at@inpwd@host/database") - assert user == "user" - assert password == "at@inpwd" + user, password, host, port, path, args = _parseURI("postgres://us%3Aer:p%40ssword@host/database") + assert user == "us:er" + assert password == "p@ssword" assert host == "host" assert port is None assert path == "/database" |