diff options
author | Johan Lundberg <lundberg@sunet.se> | 2022-11-24 11:49:04 +0100 |
---|---|---|
committer | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2022-11-29 13:55:40 +0200 |
commit | a9801bb49f8e7e0eb82f344d2cc261fdb04cc55f (patch) | |
tree | b24702a192556ef6c461ff22968933f70cd7d87a /src | |
parent | 0fb127f95648242c964349d1b401922063997d7e (diff) | |
download | pysaml2-a9801bb49f8e7e0eb82f344d2cc261fdb04cc55f.tar.gz |
make mongodb code run with more recent pymongo
these changes should be compatible with pymongo >=3.5
Diffstat (limited to 'src')
-rw-r--r-- | src/saml2/mongo_store.py | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/saml2/mongo_store.py b/src/saml2/mongo_store.py index f2fc0a6e..4c0599e9 100644 --- a/src/saml2/mongo_store.py +++ b/src/saml2/mongo_store.py @@ -4,7 +4,6 @@ import logging from pymongo import MongoClient import pymongo.errors -from pymongo.mongo_replica_set_client import MongoReplicaSetClient import pymongo.uri_parser from saml2.eptid import Eptid @@ -222,12 +221,12 @@ class MDB: if key is None: if kwargs: for item in self.db.find(kwargs): - self.db.remove(item["_id"]) + self.db.delete_one(item["_id"]) else: doc = {self.primary_key: key} doc.update(kwargs) for item in self.db.find(doc): - self.db.remove(item["_id"]) + self.db.delete_one(item["_id"]) def keys(self): for item in self.db.find(): @@ -271,25 +270,19 @@ def _mdb_get_database(uri, **kwargs): kwargs["tz_aware"] = True connection_factory = MongoClient - _parsed_uri = {} try: _parsed_uri = pymongo.uri_parser.parse_uri(uri) except pymongo.errors.InvalidURI: # assume URI to be just the database name db_name = uri - _conn = MongoClient() + _conn = connection_factory() else: - if "replicaset" in _parsed_uri["options"]: - connection_factory = MongoReplicaSetClient db_name = _parsed_uri.get("database", "pysaml2") _conn = connection_factory(uri, **kwargs) _db = _conn[db_name] - if "username" in _parsed_uri: - _db.authenticate(_parsed_uri.get("username", None), _parsed_uri.get("password", None)) - return _db |