Fix AttributeError caused by updated pymongo version
[osm/common.git] / osm_common / dbmongo.py
index 8561e96..c9b384b 100644 (file)
@@ -65,7 +65,7 @@ class DbMongo(DbBase):
     conn_timout = 10
 
     def __init__(self, logger_name="db", lock=False):
-        super().__init__(logger_namelock)
+        super().__init__(logger_name=logger_name, lock=lock)
         self.client = None
         self.db = None
         self.database_key = None
@@ -105,13 +105,6 @@ class DbMongo(DbBase):
                 self.client = MongoClient(
                     config["uri"], replicaSet=config.get("replicaset", None)
                 )
-            else:
-                self.client = MongoClient(
-                    config["host"],
-                    config["port"],
-                    replicaSet=config.get("replicaset", None),
-                )
-            # TODO add as parameters also username=config.get("user"), password=config.get("password"))
             # when all modules are ready
             self.db = self.client[config["name"]]
             if "loglevel" in config:
@@ -315,8 +308,8 @@ class DbMongo(DbBase):
                 collection = self.db[table]
                 if not (fail_on_empty and fail_on_more):
                     return collection.find_one(db_filter)
-                rows = collection.find(db_filter)
-            if rows.count() == 0:
+                rows = list(collection.find(db_filter))
+            if len(rows) == 0:
                 if fail_on_empty:
                     raise DbException(
                         "Not found any {} with filter='{}'".format(
@@ -324,8 +317,9 @@ class DbMongo(DbBase):
                         ),
                         HTTPStatus.NOT_FOUND,
                     )
+
                 return None
-            elif rows.count() > 1:
+            elif len(rows) > 1:
                 if fail_on_more:
                     raise DbException(
                         "Found more than one {} with filter='{}'".format(