CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
MatrixReader.MatrixReader Class Reference
Inheritance diagram for MatrixReader.MatrixReader:

Public Member Functions

def __init__
 
def createWorkFlows
 
def makeCmd
 
def prepare
 
def readMatrix
 
def reset
 
def show
 
def showRaw
 
def showWorkFlows
 
def updateDB
 

Public Attributes

 addCommand
 
 commandLineWf
 
 files
 
 filesPrefMap
 
 nameList
 
 overWrite
 
 relvalModule
 
 what
 
 wm
 
 workFlows
 
 workFlowSteps
 

Detailed Description

Definition at line 16 of file MatrixReader.py.

Constructor & Destructor Documentation

def MatrixReader.MatrixReader.__init__ (   self,
  opt 
)

Definition at line 18 of file MatrixReader.py.

References TPedResult.reset(), BinningPointByMap.reset(), ora::NamedReference.reset(), AlcaBeamSpotManager.reset(), ora::IRelationalOperation.reset(), MatrixReader.MatrixReader.reset(), ApvLatencyAnalysis.reset(), ora::Handle< T >.reset(), ora::IteratorBuffer.reset(), TB06Tree.reset(), VEcalCalibBlock.reset(), cond::BaseValueExtractor< T >.reset(), EcalCondHeader.reset(), ora::ContainerIterator.reset(), ora::OId.reset(), CondIter< DataT >.reset(), SamplingAnalysis.reset(), IMACalibBlock.reset(), DaqScopeModeAnalysis.reset(), L3CalibBlock.reset(), ora::MultiRecordInsertOperation.reset(), pos::PixelROCStatus.reset(), FedTimingAnalysis.reset(), L1MuDTTFParameters.reset(), L1MuDTTFMasks.reset(), TB06TreeH2.reset(), L1MuDTPhiLut.reset(), L1MuDTPtaLut.reset(), L1MuDTEtaPatternLut.reset(), FedCablingAnalysis.reset(), L1MuDTQualPatternLut.reset(), PhysicsTools::Calibration::Histogram< Value_t, Axis_t >.reset(), PedsOnlyAnalysis.reset(), L1MuDTExtLut.reset(), PhysicsTools::Calibration::Histogram2D< Value_t, AxisX_t, AxisY_t >.reset(), VpspScanAnalysis.reset(), coral_bridge::AuthenticationCredentialSet.reset(), TB06Reco.reset(), PedestalsAnalysis.reset(), NoiseAnalysis.reset(), OptoScanAnalysis.reset(), PhysicsTools::Calibration::Histogram3D< Value_t, AxisX_t, AxisY_t, AxisZ_t >.reset(), TrackerMap.reset(), ApvTimingAnalysis.reset(), CalibrationAnalysis.reset(), FastFedCablingAnalysis.reset(), ora::UniqueRef< T >.reset(), PedsFullNoiseAnalysis.reset(), CommissioningAnalysis.reset(), ora::InsertOperation.reset(), ora::Ptr< T >.reset(), TB06RecoH2.reset(), ora::BulkInsertOperation.reset(), cond::XMLAuthenticationService::XMLAuthenticationService.reset(), ora::UpdateOperation.reset(), ora::DeleteOperation.reset(), DTTFBitArray< N >.reset(), and ora::QueryableVector< Tp >.reset().

18 
19  def __init__(self, opt):
20 
21  self.reset(opt.what)
22 
23  self.wm=opt.wmcontrol
24  self.addCommand=opt.command
25  self.commandLineWf=opt.workflow
26  self.overWrite=opt.overWrite
27 
28  return

Member Function Documentation

def MatrixReader.MatrixReader.createWorkFlows (   self,
  fileNameIn 
)

Definition at line 382 of file MatrixReader.py.

References MatrixReader.MatrixReader.filesPrefMap, MatrixReader.MatrixReader.nameList, and MatrixReader.MatrixReader.workFlowSteps.

Referenced by MatrixReader.MatrixReader.prepare().

383  def createWorkFlows(self, fileNameIn):
384 
385  prefixIn = self.filesPrefMap[fileNameIn]
386 
387  # get through the list of items and update the requested workflows only
388  keyList = self.workFlowSteps.keys()
389  ids = []
390  for item in keyList:
391  id, pref = item
392  if pref != prefixIn : continue
393  ids.append(id)
394  ids.sort()
395  for key in ids:
396  val = self.workFlowSteps[(key,prefixIn)]
397  num, name, commands, stepList = val
398  nameId = str(num)+'_'+name
399  if nameId in self.nameList:
400  print "==> duplicate name found for ", nameId
401  print ' keeping : ', self.nameList[nameId]
402  print ' ignoring : ', val
403  else:
404  self.nameList[nameId] = val
405 
406  self.workFlows.append(WorkFlow(num, name, commands=commands))
407 
408  return
def MatrixReader.MatrixReader.makeCmd (   self,
  step 
)

Definition at line 61 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

61 
62  def makeCmd(self, step):
63 
64  cmd = ''
65  cfg = None
66  input = None
67  for k,v in step.items():
68  if 'no_exec' in k : continue # we want to really run it ...
69  if k.lower() == 'cfg':
70  cfg = v
71  continue # do not append to cmd, return separately
72  if k.lower() == 'input':
73  input = v
74  continue # do not append to cmd, return separately
75 
76  #chain the configs
77  #if k.lower() == '--python':
78  # v = 'step%d_%s'%(index,v)
79  cmd += ' ' + k + ' ' + str(v)
80  return cfg, input, cmd
def MatrixReader.MatrixReader.prepare (   self,
  useInput = None,
  refRel = '',
  fromScratch = None 
)

Definition at line 409 of file MatrixReader.py.

References MatrixReader.MatrixReader.createWorkFlows(), MatrixReader.MatrixReader.files, MatrixReader.MatrixReader.readMatrix(), and MatrixReader.MatrixReader.what.

410  def prepare(self, useInput=None, refRel='', fromScratch=None):
411 
412  for matrixFile in self.files:
413  if self.what != 'all' and self.what not in matrixFile:
414  print "ignoring non-requested file",matrixFile
415  continue
416 
417  try:
418  self.readMatrix(matrixFile, useInput, refRel, fromScratch)
419  except Exception, e:
420  print "ERROR reading file:", matrixFile, str(e)
421  raise
422 
423  try:
424  self.createWorkFlows(matrixFile)
425  except Exception, e:
426  print "ERROR creating workflows :", str(e)
427  raise
428 
def MatrixReader.MatrixReader.readMatrix (   self,
  fileNameIn,
  useInput = None,
  refRel = None,
  fromScratch = None 
)

Definition at line 81 of file MatrixReader.py.

References MatrixReader.MatrixReader.addCommand, MatrixReader.MatrixReader.filesPrefMap, join(), MatrixReader.MatrixReader.makeCmd(), python.multivaluedict.map(), MatrixReader.MatrixReader.overWrite, MatrixReader.MatrixReader.relvalModule, MatrixReader.MatrixReader.wm, and MatrixReader.MatrixReader.workFlowSteps.

Referenced by MatrixReader.MatrixReader.prepare(), and MatrixReader.MatrixReader.showRaw().

81 
82  def readMatrix(self, fileNameIn, useInput=None, refRel=None, fromScratch=None):
83 
84  prefix = self.filesPrefMap[fileNameIn]
85 
86  print "processing ", fileNameIn
87 
88  try:
89  _tmpMod = __import__( 'Configuration.PyReleaseValidation.'+fileNameIn )
90  self.relvalModule = sys.modules['Configuration.PyReleaseValidation.'+fileNameIn]
91  except Exception, e:
92  print "ERROR importing file ", fileNameIn, str(e)
93  return
94 
95  print "request for INPUT for ", useInput
96 
97 
98  fromInput={}
99 
100  if useInput:
101  for i in useInput:
102  if ':' in i:
103  (ik,il)=i.split(':')
104  if ik=='all':
105  for k in self.relvalModule.workflows.keys():
106  fromInput[float(k)]=int(il)
107  else:
108  fromInput[float(ik)]=int(il)
109  else:
110  if i=='all':
111  for k in self.relvalModule.workflows.keys():
112  fromInput[float(k)]=0
113  else:
114  fromInput[float(i)]=0
115 
116  if fromScratch:
117  fromScratch=map(float,fromScratch)
118  for num in fromScratch:
119  if num in fromInput:
120  fromInput.pop(num)
121  #overwrite steps
122  if self.overWrite:
123  for p in self.overWrite:
124  self.relvalModule.steps.overwrite(p)
125 
126  #change the origin of dataset on the fly
127  if refRel:
128  if ',' in refRel:
129  refRels=refRel.split(',')
130  if len(refRels)!=len(self.relvalModule.baseDataSetRelease):
131  return
132  self.relvalModule.changeRefRelease(
133  self.relvalModule.steps,
134  zip(self.relvalModule.baseDataSetRelease,refRels)
135  )
136  else:
137  self.relvalModule.changeRefRelease(
138  self.relvalModule.steps,
139  [(x,refRel) for x in self.relvalModule.baseDataSetRelease]
140  )
141 
142 
143  for num, wfInfo in self.relvalModule.workflows.items():
144  commands=[]
145  wfName = wfInfo[0]
146  stepList = wfInfo[1]
147  # if no explicit name given for the workflow, use the name of step1
148  if wfName.strip() == '': wfName = stepList[0]
149  # option to specialize the wf as the third item in the WF list
150  addTo=None
151  addCom=None
152  if len(wfInfo)>=3:
153  addCom=wfInfo[2]
154  if not type(addCom)==list: addCom=[addCom]
155  #print 'added dict',addCom
156  if len(wfInfo)>=4:
157  addTo=wfInfo[3]
158  #pad with 0
159  while len(addTo)!=len(stepList):
160  addTo.append(0)
161 
162  name=wfName
163  stepIndex=0
164  ranStepList=[]
165 
166  #first resolve INPUT possibilities
167  if num in fromInput:
168  ilevel=fromInput[num]
169  #print num,ilevel
170  for (stepIr,step) in enumerate(reversed(stepList)):
171  stepName=step
172  stepI=(len(stepList)-stepIr)-1
173  #print stepIr,step,stepI,ilevel
174  if stepI>ilevel:
175  #print "ignoring"
176  continue
177  if stepI!=0:
178  testName='__'.join(stepList[0:stepI+1])+'INPUT'
179  else:
180  testName=step+'INPUT'
181  #print "JR",stepI,stepIr,testName,stepList
182  if testName in self.relvalModule.steps.keys():
183  #print "JR",stepI,stepIr
184  stepList[stepI]=testName
185  #pop the rest in the list
186  #print "\tmod prepop",stepList
187  for p in range(stepI):
188  stepList.pop(0)
189  #print "\t\tmod",stepList
190  break
191 
192 
193  for (stepI,step) in enumerate(stepList):
194  stepName=step
195  if self.wm:
196  #cannot put a certain number of things in wm
197  if stepName in ['HARVEST','HARVESTD','HARVESTDreHLT','RECODFROMRAWRECO','SKIMD','SKIMCOSD','SKIMDreHLT']:
198  continue
199 
200  #replace stepName is needed
201  #if stepName in self.replaceStep
202  if len(name) > 0 : name += '+'
203  #any step can be mirrored with INPUT
204  ## maybe we want too level deep input
205  """
206  if num in fromInput:
207  if step+'INPUT' in self.relvalModule.steps.keys():
208  stepName = step+"INPUT"
209  stepList.remove(step)
210  stepList.insert(stepIndex,stepName)
211  """
212  name += stepName
213 
214  if addCom and (not addTo or addTo[stepIndex]==1):
216  copyStep=merge(addCom+[self.relvalModule.steps[stepName]])
217  cfg, input, opts = self.makeCmd(copyStep)
218  else:
219  cfg, input, opts = self.makeCmd(self.relvalModule.steps[stepName])
220 
221  if input and cfg :
222  msg = "FATAL ERROR: found both cfg and input for workflow "+str(num)+' step '+stepName
223  raise MatrixException(msg)
224 
225  if input:
226  cmd = input
227  else:
228  if cfg:
229  cmd = 'cmsDriver.py '+cfg+' '+opts
230  else:
231  cmd = 'cmsDriver.py step'+str(stepIndex+1)+' '+opts
232  if self.wm:
233  cmd+=' --io %s.io --python %s.py'%(stepName,stepName)
234  if self.addCommand:
235  cmd +=' '+self.addCommand
236  if self.wm:
237  cmd=cmd.replace('DQMROOT','DQM')
238  cmd=cmd.replace('--filetype DQM','')
239  commands.append(cmd)
240  ranStepList.append(stepName)
241  stepIndex+=1
242 
243  self.workFlowSteps[(num,prefix)] = (num, name, commands, ranStepList)
244 
245  return
246 
Definition: merge.py:1
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def MatrixReader.MatrixReader.reset (   self,
  what = 'all' 
)

Definition at line 29 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.__init__(), and MatrixReader.MatrixReader.showRaw().

29 
30  def reset(self, what='all'):
31 
32  self.what = what
33 
34  #a bunch of information, but not yet the WorkFlow object
35  self.workFlowSteps = {}
36  #the actual WorkFlow objects
37  self.workFlows = []
38  self.nameList = {}
39 
40  self.filesPrefMap = {'relval_standard' : 'std-' ,
41  'relval_highstats': 'hi-' ,
42  'relval_pileup': 'PU-' ,
43  'relval_generator': 'gen-' ,
44  'relval_production': 'prod-' ,
45  'relval_ged': 'ged-',
46  'relval_identity':'id-'
47  }
48 
49  self.files = ['relval_standard' ,
50  'relval_highstats',
51  'relval_pileup',
52  'relval_generator',
53  'relval_production',
54  'relval_ged',
55  'relval_identity'
56  ]
57 
58  self.relvalModule = None
59 
60  return
def MatrixReader.MatrixReader.show (   self,
  selected = None,
  extended = True 
)

Definition at line 429 of file MatrixReader.py.

References MatrixReader.MatrixReader.showWorkFlows().

Referenced by Vispa.Main.AboutDialog.AboutDialog.onScreen(), Vispa.Gui.BoxContentDialog.BoxContentDialog.onScreen(), and Vispa.Gui.FindDialog.FindDialog.onScreen().

430  def show(self, selected=None, extended=True):
431 
432  self.showWorkFlows(selected,extended)
433  print '\n','-'*80,'\n'
434 
def MatrixReader.MatrixReader.showRaw (   self,
  useInput,
  refRel = None,
  fromScratch = None,
  what = 'all',
  step1Only = False,
  selected = None 
)

Definition at line 247 of file MatrixReader.py.

References Clusterizer1DCommons.add(), MatrixReader.MatrixReader.files, join(), python.multivaluedict.map(), MatrixReader.MatrixReader.readMatrix(), BinningPointByMap.reset(), TPedResult.reset(), ora::NamedReference.reset(), AlcaBeamSpotManager.reset(), ora::IRelationalOperation.reset(), MatrixReader.MatrixReader.reset(), ApvLatencyAnalysis.reset(), ora::Handle< T >.reset(), TB06Tree.reset(), ora::IteratorBuffer.reset(), EcalCondHeader.reset(), cond::BaseValueExtractor< T >.reset(), VEcalCalibBlock.reset(), ora::ContainerIterator.reset(), CondIter< DataT >.reset(), ora::OId.reset(), SamplingAnalysis.reset(), IMACalibBlock.reset(), DaqScopeModeAnalysis.reset(), ora::MultiRecordInsertOperation.reset(), L3CalibBlock.reset(), pos::PixelROCStatus.reset(), FedTimingAnalysis.reset(), L1MuDTTFMasks.reset(), L1MuDTTFParameters.reset(), TB06TreeH2.reset(), L1MuDTPhiLut.reset(), L1MuDTPtaLut.reset(), L1MuDTEtaPatternLut.reset(), FedCablingAnalysis.reset(), L1MuDTQualPatternLut.reset(), PhysicsTools::Calibration::Histogram< Value_t, Axis_t >.reset(), PedsOnlyAnalysis.reset(), L1MuDTExtLut.reset(), PhysicsTools::Calibration::Histogram2D< Value_t, AxisX_t, AxisY_t >.reset(), VpspScanAnalysis.reset(), TB06Reco.reset(), coral_bridge::AuthenticationCredentialSet.reset(), NoiseAnalysis.reset(), PedestalsAnalysis.reset(), OptoScanAnalysis.reset(), PhysicsTools::Calibration::Histogram3D< Value_t, AxisX_t, AxisY_t, AxisZ_t >.reset(), TrackerMap.reset(), ApvTimingAnalysis.reset(), CalibrationAnalysis.reset(), FastFedCablingAnalysis.reset(), ora::UniqueRef< T >.reset(), PedsFullNoiseAnalysis.reset(), CommissioningAnalysis.reset(), ora::InsertOperation.reset(), ora::Ptr< T >.reset(), TB06RecoH2.reset(), ora::BulkInsertOperation.reset(), cond::XMLAuthenticationService::XMLAuthenticationService.reset(), ora::UpdateOperation.reset(), ora::DeleteOperation.reset(), DTTFBitArray< N >.reset(), ora::QueryableVector< Tp >.reset(), runtimedef.set(), MatrixReader.MatrixReader.what, and MatrixReader.MatrixReader.workFlowSteps.

248  def showRaw(self, useInput, refRel=None, fromScratch=None, what='all',step1Only=False,selected=None):
249 
250  if selected:
251  selected=map(float,selected)
252  for matrixFile in self.files:
253 
254  self.reset(what)
255 
256  if self.what != 'all' and self.what not in matrixFile:
257  print "ignoring non-requested file",matrixFile
258  continue
259 
260  try:
261  self.readMatrix(matrixFile, useInput, refRel, fromScratch)
262  except Exception, e:
263  print "ERROR reading file:", matrixFile, str(e)
264  raise
265 
266  if not self.workFlowSteps: continue
267 
268  dataFileName = matrixFile.replace('relval_', 'cmsDriver_')+'_hlt.txt'
269  outFile = open(dataFileName,'w')
270 
271  print "found ", len(self.workFlowSteps.keys()), ' workflows for ', dataFileName
272  ids = self.workFlowSteps.keys()
273  ids.sort()
274  indexAndSteps=[]
275 
276  writtenWF=0
277  for key in ids:
278  if selected and not (key[0] in selected):
279  continue
280  #trick to skip the HImix IB test
281  if key[0]==203.1 or key[0]==204.1 or key[0]==205.1 or key[0]==4.51 or key[0]==4.52: continue
282  num, name, commands, stepList = self.workFlowSteps[key]
283 
284  wfName,stepNames= name.split('+',1)
285 
286  stepNames=stepNames.replace('+RECODFROMRAWRECO','')
287  stepNames=stepNames.replace('+SKIMCOSD','')
288  stepNames=stepNames.replace('+SKIMD','')
289  if 'HARVEST' in stepNames:
290  #find out automatically what to remove
291  exactb=stepNames.index('+HARVEST')
292  exacte=stepNames.index('+',exactb+1) if ('+' in stepNames[exactb+1:]) else (len(stepNames))
293  stepNames=stepNames.replace(stepNames[exactb:exacte],'')
294  otherSteps = None
295  if '+' in stepNames:
296  step1,otherSteps = stepNames.split('+',1)
297 
298  line = str(num) + ' ++ '+ wfName
299  if otherSteps and not step1Only:
300  line += ' ++ ' +otherSteps.replace('+',',')
301  else:
302  line += ' ++ none'
303  inputInfo=None
304  if not isinstance(commands[0],str):
305  inputInfo=commands[0]
306  if otherSteps:
307  for (i,c) in enumerate(otherSteps.split('+')):
308  #pad with set
309  for p in range(len(indexAndSteps),i+2):
310  indexAndSteps.append(set())
311  indexAndSteps[i+1].add((c,commands[i+1]))
312 
313  if inputInfo :
314  #skip the samples from INPUT when step1Only is on
315  if step1Only: continue
316  line += ' ++ REALDATA: '+inputInfo.dataSet
317  if inputInfo.run!=[]: line += ', RUN:'+'|'.join(map(str,inputInfo.run))
318  line += ', FILES: ' +str(inputInfo.files)
319  line += ', EVENTS: '+str(inputInfo.events)
320  if inputInfo.label!='':
321  line += ', LABEL: ' +inputInfo.label
322  line += ', LOCATION:'+inputInfo.location
323  line += ' @@@'
324  else:
325  line += ' @@@ '+commands[0]
326  line=line.replace('DQMROOT','DQM')
327  writtenWF+=1
328  outFile.write(line+'\n')
329 
330 
331  outFile.write('\n'+'\n')
332  if step1Only: continue
333 
334  for (index,s) in enumerate(indexAndSteps):
335  for (stepName,cmd) in s:
336  stepIndex=index+1
337  if 'dasquery.log' in cmd: continue
338  line = 'STEP%d ++ '%(stepIndex,) +stepName + ' @@@ '+cmd
339  line=line.replace('DQMROOT','DQM')
340  outFile.write(line+'\n')
341  outFile.write('\n'+'\n')
342  outFile.close()
343  print "wrote ",writtenWF, ' workflow'+('s' if (writtenWF!=1) else ''),' to ', outFile.name
344  return
345 
void add(const std::vector< const T * > &source, std::vector< const T * > &dest)
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
void set(const std::string &name, int value)
set the flag, with a run-time name
def MatrixReader.MatrixReader.showWorkFlows (   self,
  selected = None,
  extended = True 
)

Definition at line 346 of file MatrixReader.py.

References python.multivaluedict.map(), and MatrixReader.MatrixReader.workFlows.

Referenced by MatrixReader.MatrixReader.show().

347  def showWorkFlows(self, selected=None, extended=True):
348  if selected: selected = map(float,selected)
349  maxLen = 100 # for summary, limit width of output
350  fmt1 = "%-6s %-35s [1]: %s ..."
351  fmt2 = " %35s [%d]: %s ..."
352  print "\nfound a total of ", len(self.workFlows), ' workflows:'
353  if selected:
354  print " of which the following", len(selected), 'were selected:'
355  #-ap for now:
356  maxLen = -1 # for individual listing, no limit on width
357  fmt1 = "%-6s %-35s [1]: %s "
358  fmt2 = " %35s [%d]: %s"
359 
360  N=[]
361  for wf in self.workFlows:
362  if selected and float(wf.numId) not in selected: continue
363  if extended: print ''
364  #pad with zeros
365  for i in range(len(N),len(wf.cmds)): N.append(0)
366  N[len(wf.cmds)-1]+=1
367  wfName, stepNames = wf.nameId.split('+',1)
368  for i,s in enumerate(wf.cmds):
369  if extended:
370  if i==0:
371  print fmt1 % (wf.numId, stepNames, (str(s)+' ')[:maxLen])
372  else:
373  print fmt2 % ( ' ', i+1, (str(s)+' ')[:maxLen])
374  else:
375  print "%-6s %-35s "% (wf.numId, stepNames)
376  break
377  print ''
378  for i,n in enumerate(N):
379  if n: print n,'workflows with',i+1,'steps'
380 
381  return
def MatrixReader.MatrixReader.updateDB (   self)

Definition at line 435 of file MatrixReader.py.

References MatrixReader.MatrixReader.workFlows.

436  def updateDB(self):
437 
438  import pickle
439  pickle.dump(self.workFlows, open('theMatrix.pkl', 'w') )
440 
441  return
442 

Member Data Documentation

MatrixReader.MatrixReader.addCommand

Definition at line 23 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.commandLineWf

Definition at line 24 of file MatrixReader.py.

MatrixReader.MatrixReader.files

Definition at line 48 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.prepare(), and MatrixReader.MatrixReader.showRaw().

MatrixReader.MatrixReader.filesPrefMap

Definition at line 39 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.createWorkFlows(), and MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.nameList

Definition at line 37 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.createWorkFlows().

MatrixReader.MatrixReader.overWrite

Definition at line 25 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.relvalModule

Definition at line 57 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.what

Definition at line 31 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.prepare(), and MatrixReader.MatrixReader.showRaw().

MatrixReader.MatrixReader.wm

Definition at line 22 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.readMatrix().

MatrixReader.MatrixReader.workFlows

Definition at line 36 of file MatrixReader.py.

Referenced by MatrixRunner.MatrixRunner.runTests(), MatrixReader.MatrixReader.showWorkFlows(), and MatrixReader.MatrixReader.updateDB().

MatrixReader.MatrixReader.workFlowSteps

Definition at line 34 of file MatrixReader.py.

Referenced by MatrixReader.MatrixReader.createWorkFlows(), MatrixReader.MatrixReader.readMatrix(), and MatrixReader.MatrixReader.showRaw().