CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Functions | Variables
ConfigBuilder Namespace Reference

Classes

class  ConfigBuilder
 
class  Options
 

Functions

def anyOf
 
def dumpPython
 
def filesFromDASQuery
 
def filesFromList
 

Variables

string __source__ = "$Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v $"
 
string __version__ = "$Revision: 1.19 $"
 
tuple defaultOptions = Options()
 

Function Documentation

def ConfigBuilder.anyOf (   listOfKeys,
  dict,
  opt = None 
)

Definition at line 184 of file ConfigBuilder.py.

References join().

Referenced by ConfigBuilder.ConfigBuilder.addOutput().

185 def anyOf(listOfKeys,dict,opt=None):
186  for k in listOfKeys:
187  if k in dict:
188  toReturn=dict[k]
189  dict.pop(k)
190  return toReturn
191  if opt!=None:
192  return opt
193  else:
194  raise Exception("any of "+','.join(listOfKeys)+" are mandatory entries of --output options")
static std::string join(char **cmd)
Definition: RemoteFile.cc:19
def ConfigBuilder.dumpPython (   process,
  name 
)

Definition at line 94 of file ConfigBuilder.py.

Referenced by htmlCreator.create(), pdfCreator.create(), ConfigBuilder.ConfigBuilder.prepare(), SequenceTypes.TestModuleCommand.testCopyAndExclude(), Config.TestModuleCommand.testDelete(), MassReplace.TestModuleCommand.testMassReplaceInputTag(), MassReplace.TestModuleCommand.testMassReplaceParam(), Config.TestModuleCommand.testPrefers(), Config.TestModuleCommand.testProcessDumpPython(), Config.TestModuleCommand.testSecSource(), Config.TestModuleCommand.testSubProcess(), and Config.TestModuleCommand.testTaskPlaceholder().

94 
95 def dumpPython(process,name):
96  theObject = getattr(process,name)
97  if isinstance(theObject,cms.Path) or isinstance(theObject,cms.EndPath) or isinstance(theObject,cms.Sequence):
98  return "process."+name+" = " + theObject.dumpPython()
99  elif isinstance(theObject,_Module) or isinstance(theObject,cms.ESProducer):
100  return "process."+name+" = " + theObject.dumpPython()+"\n"
101  else:
return "process."+name+" = " + theObject.dumpPython()+"\n"
def ConfigBuilder.filesFromDASQuery (   query,
  option = "",
  s = None 
)

Definition at line 136 of file ConfigBuilder.py.

References print(), and submitPVValidationJobs.split().

Referenced by ConfigBuilder.ConfigBuilder.addSource(), ConfigBuilder.ConfigBuilder.addStandardSequences(), and ConfigBuilder.ConfigBuilder.prepare_DATAMIX().

137 def filesFromDASQuery(query,option="",s=None):
138  import os,time
139  import FWCore.ParameterSet.Config as cms
140  prim=[]
141  sec=[]
142  print("the query is",query)
143  eC=5
144  count=0
145  while eC!=0 and count<3:
146  if count!=0:
147  print('Sleeping, then retrying DAS')
148  time.sleep(100)
149  p = Popen('dasgoclient %s --query "%s"'%(option,query), stdout=PIPE,shell=True, universal_newlines=True)
150  pipe=p.stdout.read()
151  tupleP = os.waitpid(p.pid, 0)
152  eC=tupleP[1]
153  count=count+1
154  if eC==0:
155  print("DAS succeeded after",count,"attempts",eC)
156  else:
157  print("DAS failed 3 times- I give up")
158  for line in pipe.split('\n'):
159  if line.count(".root")>=2:
160  #two files solution...
161  entries=line.replace("\n","").split()
162  prim.append(entries[0])
163  sec.append(entries[1])
164  elif (line.find(".root")!=-1):
165  entry=line.replace("\n","")
166  prim.append(entry)
167  # remove any duplicates
168  prim = sorted(list(set(prim)))
169  sec = sorted(list(set(sec)))
170  if s:
171  if not hasattr(s,"fileNames"):
172  s.fileNames=cms.untracked.vstring(prim)
173  else:
174  s.fileNames.extend(prim)
175  if len(sec)!=0:
176  if not hasattr(s,"secondaryFileNames"):
177  s.secondaryFileNames=cms.untracked.vstring(sec)
178  else:
179  s.secondaryFileNames.extend(sec)
180  print("found files: ",prim)
181  if len(sec)!=0:
182  print("found parent files:",sec)
183  return (prim,sec)
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
def ConfigBuilder.filesFromList (   fileName,
  s = None 
)

Definition at line 102 of file ConfigBuilder.py.

References print(), and submitPVValidationJobs.split().

Referenced by ConfigBuilder.ConfigBuilder.addSource(), ConfigBuilder.ConfigBuilder.addStandardSequences(), and ConfigBuilder.ConfigBuilder.prepare_DATAMIX().

103 def filesFromList(fileName,s=None):
104  import os
105  import FWCore.ParameterSet.Config as cms
106  prim=[]
107  sec=[]
108  for line in open(fileName,'r'):
109  if line.count(".root")>=2:
110  #two files solution...
111  entries=line.replace("\n","").split()
112  prim.append(entries[0])
113  sec.append(entries[1])
114  elif (line.find(".root")!=-1):
115  entry=line.replace("\n","")
116  prim.append(entry)
117  # remove any duplicates
118  prim = sorted(list(set(prim)))
119  sec = sorted(list(set(sec)))
120  if s:
121  if not hasattr(s,"fileNames"):
122  s.fileNames=cms.untracked.vstring(prim)
123  else:
124  s.fileNames.extend(prim)
125  if len(sec)!=0:
126  if not hasattr(s,"secondaryFileNames"):
127  s.secondaryFileNames=cms.untracked.vstring(sec)
128  else:
129  s.secondaryFileNames.extend(sec)
130  print("found files: ",prim)
131  if len(prim)==0:
132  raise Exception("There are not files in input from the file list")
133  if len(sec)!=0:
134  print("found parent files:",sec)
135  return (prim,sec)
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47

Variable Documentation

string ConfigBuilder.__source__ = "$Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v $"

Definition at line 5 of file ConfigBuilder.py.

string ConfigBuilder.__version__ = "$Revision: 1.19 $"

Definition at line 4 of file ConfigBuilder.py.

tuple ConfigBuilder.defaultOptions = Options()

Definition at line 23 of file ConfigBuilder.py.