_mdb_get_database: Restore 'uri is db name' functionality.

Forgot to run the test suite after the last round of changes :(.
On the good side, this commit should actually restore backwards
compatibility with previous MongoDB support.
This commit is contained in:
Fredrik Thulin
2013-06-11 16:13:31 +02:00
parent 660ee15a09
commit 19da1324df

View File

@@ -266,25 +266,28 @@ def _mdb_get_database(uri, **kwargs):
:params database: name as string or (uri, name) :params database: name as string or (uri, name)
:returns: pymongo database object :returns: pymongo database object
""" """
if not "tz_aware" in kwargs:
# default, but not forced
kwargs["tz_aware"] = True
connection_factory = MongoClient connection_factory = MongoClient
_parsed_uri = {} _parsed_uri = {}
db_name = None db_name = None
_conn = None
try: try:
_parsed_uri = pymongo.uri_parser.parse_uri(uri) _parsed_uri = pymongo.uri_parser.parse_uri(uri)
except pymongo.errors.InvalidURI: except pymongo.errors.InvalidURI:
# assume URI to be just the database name # assume URI to be just the database name
db_name = uri db_name = uri
_conn = MongoClient()
pass pass
else: else:
if "replicaset" in _parsed_uri["options"]: if "replicaset" in _parsed_uri["options"]:
connection_factory = MongoReplicaSetClient connection_factory = MongoReplicaSetClient
db_name = _parsed_uri.get("database", "pysaml2") db_name = _parsed_uri.get("database", "pysaml2")
_conn = connection_factory(uri, **kwargs)
if not "tz_aware" in kwargs:
# default, but not forced
kwargs["tz_aware"] = True
_conn = connection_factory(uri, **kwargs)
_db = _conn[db_name] _db = _conn[db_name]
if "username" in _parsed_uri: if "username" in _parsed_uri: