adding create_list to dbmongo
Change-Id: I72cd3035752d0d053586e966d6f1a5611f60fc09
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
diff --git a/osm_common/dbmongo.py b/osm_common/dbmongo.py
index 16da6e7..e40d0e4 100644
--- a/osm_common/dbmongo.py
+++ b/osm_common/dbmongo.py
@@ -23,6 +23,7 @@
from time import time, sleep
from copy import deepcopy
from base64 import b64decode
+from uuid import uuid4
__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
@@ -343,6 +344,24 @@
except Exception as e: # TODO refine
raise DbException(e)
+ def create_list(self, table, indata_list):
+ """
+ Add several entries at once
+ :param table: collection or table
+ :param indata_list: content list to be added.
+ :return: the list of inserted '_id's. Exception on error
+ """
+ try:
+ for item in indata_list:
+ if item.get("_id") is None:
+ item["_id"] = str(uuid4())
+ with self.lock:
+ collection = self.db[table]
+ data = collection.insert_many(indata_list)
+ return data.inserted_ids
+ except Exception as e: # TODO refine
+ raise DbException(e)
+
def set_one(self, table, q_filter, update_dict, fail_on_empty=True, unset=None, pull=None, push=None):
"""
Modifies an entry at database