Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-20 22:39:50

0001 from pathlib import Path
0002 import os
0003 import  sys
0004 from FWCore.ParameterSet.DummyCfis import create_cfis
0005 
0006 
0007 ##########################
0008 if __name__ == "__main__":
0009     import argparse
0010 
0011     parser = argparse.ArgumentParser(description="Expand python configuration")
0012     parser.add_argument("cfipythondir",
0013                     help="cfipython dir for the configurations files to read")
0014     parser.add_argument("--required", action="store_true",
0015                         help="Add dummy values for cms.required parameters")
0016     parser.add_argument("--optional", action="store_true",
0017                         help="Add dummy values for cms.optional parameters")
0018 
0019     options = parser.parse_args()
0020 
0021 
0022     base = Path(options.cfipythondir)
0023 
0024     work = Path.cwd() / 'cfis'
0025     work.mkdir()
0026     os.chdir(work)
0027     for subsys in (x for x in base.iterdir() if x.is_dir()):
0028         newSub = work /subsys.name
0029         newSub.mkdir()
0030         os.chdir(newSub)
0031         for pkg in (y for y in subsys.iterdir() if y.is_dir()):
0032             newPkg = newSub / pkg.name
0033             newPkg.mkdir()
0034             os.chdir(newPkg)
0035             if (pkg / "modules.py").exists():
0036                 create_cfis(subsys.name + '.'+pkg.name, writeRequired=options.required, writeOptional=options.optional)