@@ -258,7 +258,9 @@ def _save_inventory_1_0(project_name, data):
258258 print ("Separating project metadata: %s" % key )
259259 metadata [key ] = data .pop (key )
260260
261- document = io .find_one ({"type" : "project" })
261+ _filter = {"type" : "project" }
262+
263+ document = io .find_one (_filter )
262264 if document is None :
263265 print ("'%s' not found, creating.." % project_name )
264266 _id = create_project (project_name )
@@ -269,18 +271,21 @@ def _save_inventory_1_0(project_name, data):
269271 for key , value in metadata .items ():
270272 document ["data" ][key ] = value
271273
272- io .save ( document )
274+ io .replace_one ( _filter , document )
273275
274276 print ("Updating assets.." )
275277 added = list ()
276278 updated = list ()
277279 missing = list ()
278280 for silo , assets in data .items ():
279281 for asset in assets :
280- asset_doc = io .find_one ({
282+
283+ _filter = {
281284 "name" : asset ["name" ],
282285 "type" : "asset" ,
283- })
286+ }
287+
288+ asset_doc = io .find_one (_filter )
284289
285290 if asset_doc is None :
286291 asset ["silo" ] = silo
@@ -299,7 +304,7 @@ def _save_inventory_1_0(project_name, data):
299304 asset_doc ["data" ][key ],
300305 value ))
301306
302- io .save ( asset_doc )
307+ io .replace_one ( _filter , asset_doc )
303308
304309 for data in missing :
305310 print ("+ added %s" % data ["name" ])
@@ -318,7 +323,9 @@ def _save_inventory_1_0(project_name, data):
318323
319324
320325def _save_config_1_0 (project_name , data ):
321- document = io .find_one ({"type" : "project" })
326+ _filter = {"type" : "project" }
327+
328+ document = io .find_one (_filter )
322329
323330 config = document ["config" ]
324331
@@ -330,7 +337,7 @@ def _save_config_1_0(project_name, data):
330337
331338 schema .validate (document )
332339
333- io .save ( document )
340+ io .replace_one ( _filter , document )
334341
335342
336343def _report (added , updated ):
0 commit comments