@@ -322,52 +322,34 @@ def summary(self):
322322 req ['_id' ] = bson .ObjectId (req ['_id' ])
323323 level = req ['level' ]
324324
325- containers = ['projects' , 'sessions' , 'acquisitions' , 'analyses' ]
325+ containers = ['projects' , 'sessions' , 'acquisitions' ]
326326 cont_query = {}
327327 if level == 'projects' :
328328 # Grab sessions and their ids
329329 sessions = config .db .sessions .find ({'project' : req ['_id' ]}, {'_id' : 1 })
330330 session_ids = [s ['_id' ] for s in sessions ]
331331
332- # Grab acquisitions and their ids
333- acquisitions = config .db .acquisitions .find ({'session' : {'$in' : session_ids }}, {'_id' : 1 })
334- acquisition_ids = [a ['_id' ] for a in acquisitions ]
335- parent_ids = [req ['_id' ]] + session_ids + acquisition_ids
336-
337- # # Grab analyses and their ids
338- # analysis_ids = [an['_id'] for an in config.db.analyses.find({'parent.id': {'$in': parent_ids}})]
339-
340332 # for each type of container below it will have a slightly modified match query
341333 cont_query = {
342334 'projects' : {'_id' : req ['_id' ]},
343335 'sessions' : {'project' : req ['_id' ]},
344- 'acquisitions' : {'session' : {'$in' : session_ids }},
345- 'analyses' : {'parent.id' : {'$in' : parent_ids }}
336+ 'acquisitions' : {'session' : {'$in' : session_ids }}
346337 }
347338 elif level == 'sessions' :
348339
349- # Grab acquisitions and their ids
350- acquisitions = config .db .acquisitions .find ({'session' : req ['_id' ]}, {'_id' : 1 })
351- acquisition_ids = [a ['_id' ] for a in acquisitions ]
352- parent_ids = [req ['_id' ]] + acquisition_ids
353-
354- # # Grab analyses and their ids
355- # analysis_ids = [an['_id'] for an in config.db.analyses.find({'parent.id': {'$in': parent_ids}})]
356-
357340 # for each type of container below it will have a slightly modified match query
358341 cont_query = {
359342 'sessions' : {'_id' : req ['_id' ]},
360- 'acquisitions' : {'session' : req ['_id' ]},
361- 'analyses' : {'parent.id' : {'$in' : parent_ids }}
343+ 'acquisitions' : {'session' : req ['_id' ]}
362344 }
363345 containers = containers [1 :]
364346 elif level == 'acquisitions' :
365347
366348 cont_query ['acquisitions' ] = {'_id' : req ['_id' ]}
367- containers = [ 'acquisitions' ]
349+ containers = containers [ - 1 : ]
368350 elif level == 'analyses' :
369351 cont_query ['analyses' ] = {'_id' : req ['_id' ]}
370- containers = containers [ - 1 : ]
352+ containers = [ 'analyses' ]
371353 else :
372354 self .abort (400 , "{} not a recognized level" .format (level ))
373355
@@ -381,25 +363,22 @@ def summary(self):
381363 {'$group' : {
382364 '_id' : '$type' ,
383365 'count' : {'$sum' : 1 },
384- 'mb_total' : {'$sum' :'$mbs' },
385- 'nodes' : {
386- '$addToSet' : {'level' : {'$literal' :cont_name }, '_id' : '$_id' }
387- }
366+ 'mb_total' : {'$sum' :'$mbs' }
388367 }}
389368 ]
390369
391370 try :
392371 result = config .db .command ('aggregate' , cont_name , pipeline = pipeline )
393372 except Exception as e : # pylint: disable=broad-except
394- self .abort (500 , str (e ))
373+ log .warning (e )
374+ self .abort (500 , "Failure to load summary" )
395375
396376 if result .get ("ok" ):
397377 for doc in result .get ("result" ):
398378 type_ = doc ['_id' ]
399379 if res .get (type_ ):
400380 res [type_ ]['count' ] += doc .get ('count' ,0 )
401381 res [type_ ]['mb_total' ] += doc .get ('mb_total' ,0 )
402- res [type_ ]['nodes' ] += doc .get ('nodes' , [])
403382 else :
404383 res [type_ ] = doc
405384 return res
0 commit comments