6 def __init__(self,what='standard',strict=True):
7 from Configuration.PyReleaseValidation.MatrixReader
import MatrixReader
9 self.mrd.prepare(
'all',
'',
None)
14 return str(wfNumber)+
':'+str(step)
17 key=self.
getKey(wfNumber,step)
19 self.
load(wfNumber,step)
24 def load(self,wfNumber,step):
25 from Configuration.PyReleaseValidation.ConfigBuilder
import ConfigBuilder
26 from Configuration.PyReleaseValidation.cmsDriverOptions
import OptionsFromCommand
30 raise Exception(
'one should never be loading more than one process at a time due to python loading/altering feature')
31 key=self.
getKey(wfNumber,step)
35 for wf
in self.mrd.workFlows:
36 if float(wf.numId)!=wfNumber:
continue
38 if not hasattr(wf,
'cmdStep%d'%(step)):
continue
39 if not getattr(wf,
'cmdStep%d'%(step)):
continue
41 command=getattr(wf,
'cmdStep%d'%(step))
48 print "could not satisfy the request for step",step,
"of workflow",wfNumber
52 key=self.
getKey(wfNumber,step)
59 key=self.
getKey(wfNumber,step)
69 for wf
in self.mrd.workFlows:
71 print '---------------------'
72 print 'process workflow',wf.numId
74 while self.
load(float(wf.numId),step):
76 print ', '.
join(s.label()
for s
in p.schedule)
static std::string join(char **cmd)