@@ -374,11 +374,30 @@ def main():
374374 else :
375375 mddict = {}
376376 mddict ['name' ]= os .path .basename (args .infile )
377-
377+ mddict ['size' ] = os .path .getsize (args .infile )
378+ mddict ['created_by' ] = os .environ ['USERF' ]
378379 mddict ['metadata' ]= {}
379380 print ("EXTRACTOR: building metadata from parent and args as no artroot dump available" )
380381 # If --input_json is supplied, open that dict now and add it to the output json
382+ if args .input_json != None :
383+ if os .path .exists (args .input_json ):
384+ try :
385+ arbjson = json .load (open (args .input_json ,'r' ))
386+ if DEBUG : print ("EXTRACTOR: arbjson" ,arbjson )
387+
388+ for key ,newval in arbjson ["metadata" ].items ():
381389
390+ if key in mddict ["metadata" ]:
391+ if DEBUG : print ("EXTRACTOR: overriding " ,key ,mddict ["metadata" ][key ],"with" , newval , "from json file" )
392+ else :
393+ if DEBUG : print ("EXTRACTOR: adding " ,key , newval , "from json file" )
394+
395+ mddict ["metadata" ][key ] = newval
396+ except :
397+ print ('Error loading input json file.' ,args .input_json )
398+
399+ else :
400+ print ('warning, could not open the input json file' , args .input_json )
382401
383402 if args .appname != None :
384403 mddict ['metadata' ]['core.application.name' ] = args .appname
@@ -445,27 +464,7 @@ def main():
445464 mddict ['namespace' ]= args .namespace
446465
447466
448- if args .input_json != None :
449- if os .path .exists (args .input_json ):
450- try :
451- arbjson = json .load (open (args .input_json ,'r' ))
452- print ("EXTRACTOR: arbjson" ,arbjson )
453- #arbjson.pop('name')
454- #arbjson.pop('namespace')
455- if DEBUG : "got here"
456- for key ,val in arbjson ["metadata" ].items ():
457-
458- if DEBUG : print (key , val )
459- newval = os .path .expandvars (val )
460- if DEBUG : print (newval )
461- if key in mddict ["metadata" ]:
462- print ("EXTRACTOR: overriding " ,key ,mddict ["metadata" ][key ],"with" , newval , "from json file" )
463- mddict ["metadata" ][key ] = newval
464- except :
465- print ('Error loading input json file.' ,args .input_json )
466-
467- else :
468- print ('warning, could not open the input json file' , args .input_json )
467+
469468
470469 except TypeError :
471470 print ('You have not implemented a defineMetaData function by providing an experiment.' )
0 commit comments