Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:21

0001 #!/usr/bin/env python
0002 import os
0003 import json
0004 
0005 
0006 # documentation: https://twiki.cern.ch/twiki/bin/view/CMS/AlCaDBPCL#Drop_box_metadata_management
0007 if __name__ == "__main__":
0008     # the input file is in text format, formatted as the outout of cmsRun ProduceDropBoxMetadata.py
0009     # the inoput file holds metadata for a list of workflows, prod/prep for each
0010     filenameinput = "last-iov-DropBoxMetadata_v5.1_express.db-f422b9d9589e65175b255acc01700f9103842a6e.log"
0011 
0012     # the .json files will be produced inside the specified directory
0013     # each .json file is the complete metadata for either prod or prep
0014     dirnameoutput = 'last-iov-DropBoxMetadata_v5.1_express'
0015     
0016     filehandler = open(filenameinput, 'r')
0017     lines = filehandler.readlines()
0018 
0019     
0020     try:
0021         os.stat(dirnameoutput)
0022     except:
0023         os.mkdir(dirnameoutput)
0024                 
0025     recordname = None
0026     
0027 
0028     for line in lines:
0029 
0030         
0031         if '--- record' in line:
0032             recordname = line.split()[2]
0033             print('-----------------------------------------------------------------')
0034             print('record: ',recordname)
0035             
0036         if 'prepMetaData' in line:
0037             dict_text = line.split('value: ')[1]
0038             prep_metadata = json.loads(dict_text.replace('"','"'))
0039             prep_metadata_dump = json.dumps(prep_metadata, sort_keys = True, indent = 4)
0040             print('----- prepMetaData:')
0041             print(prep_metadata_dump)
0042             outFilePrep = open('%s/%s_prep.json'%(dirnameoutput,recordname), 'w')
0043             outFilePrep.write(prep_metadata_dump+'\n')
0044             outFilePrep.close()
0045             
0046         if 'prodMetaData' in line:
0047             dict_text = line.split('value: ')[1]
0048             prod_metadata = json.loads(dict_text.replace('"','"'))
0049             prod_metadata_dump = json.dumps(prod_metadata, sort_keys = True, indent = 4)
0050             print('----- prodMetaData:')
0051             print(prod_metadata_dump)
0052             outFileProd = open('%s/%s_prod.json'%(dirnameoutput,recordname), 'w')
0053             outFileProd.write(prod_metadata_dump+'\n')
0054             outFileProd.close()
0055         
0056 
0057     filehandler.close()
0058         #print line