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 381 of file MatrixReader.py.

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

Referenced by MatrixReader.MatrixReader.prepare().

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

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

409  def prepare(self, useInput=None, refRel='', fromScratch=None):
410 
411  for matrixFile in self.files:
412  if self.what != 'all' and self.what not in matrixFile:
413  print "ignoring non-requested file",matrixFile
414  continue
415 
416  try:
417  self.readMatrix(matrixFile, useInput, refRel, fromScratch)
418  except Exception, e:
419  print "ERROR reading file:", matrixFile, str(e)
420  raise
421 
422  try:
423  self.createWorkFlows(matrixFile)
424  except Exception, e:
425  print "ERROR creating workflows :", str(e)
426  raise
427 
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(), Association.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  commands.append(cmd)
239  ranStepList.append(stepName)
240  stepIndex+=1
241 
242  self.workFlowSteps[(num,prefix)] = (num, name, commands, ranStepList)
243 
244  return
245 
Definition: merge.py:1
dictionary map
Definition: Association.py:196
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__(), BeautifulSoup.BeautifulStoneSoup.__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 428 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().

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

Definition at line 246 of file MatrixReader.py.

References Clusterizer1DCommons.add(), MatrixReader.MatrixReader.files, join(), Association.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.

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

References Association.map, and MatrixReader.MatrixReader.workFlows.

Referenced by MatrixReader.MatrixReader.show().

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

Definition at line 434 of file MatrixReader.py.

References MatrixReader.MatrixReader.workFlows.

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

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().