CMS 3D CMS Logo

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

Public Member Functions

def __init__
 
def enter
 
def leave
 
def setLabel
 

Public Attributes

 filtersOnEndpaths
 

Private Attributes

 __label
 
 _levelInTasks
 

Static Private Attributes

list _presetFilters = ["TriggerResultsFilter", "HLTPrescaler"]
 

Detailed Description

Definition at line 41 of file SequenceVisitors.py.

Constructor & Destructor Documentation

def SequenceVisitors.EndPathValidator.__init__ (   self)

Member Function Documentation

def SequenceVisitors.EndPathValidator.enter (   self,
  visitee 
)

Definition at line 49 of file SequenceVisitors.py.

References SequenceVisitors.PathValidator.__label, SequenceVisitors.EndPathValidator.__label, Mixins._Labelable.__label, SequenceVisitors.EndPathValidator._levelInTasks, SequenceTypes.ModuleNodeOnTaskVisitor._levelInTasks, SequenceTypes.ModuleNodeNotOnTaskVisitor._levelInTasks, SequenceTypes.ExpandVisitor._levelInTasks, SequenceTypes.DecoratedNodeNameVisitor._levelInTasks, SequenceTypes.DecoratedNodeNamePlusVisitor._levelInTasks, SequenceVisitors.EndPathValidator._presetFilters, and SequenceVisitors.EndPathValidator.filtersOnEndpaths.

49 
50  def enter(self,visitee):
51  if visitee.isLeaf():
52  if isinstance(visitee, _Labelable):
53  if not visitee.hasLabel_():
54  raise ValueError("EndPath "+self.__label+"contains a module of type '"+visitee.type_()+"' which has\nno assigned label.")
55  elif isinstance(visitee, Service):
56  if not visitee._inProcess:
57  raise ValueError("EndPath "+self.__label+"contains a service of type '"+visitee.type_()+"' which is not attached to the process.\n")
58  if isinstance(visitee, Task):
59  self._levelInTasks += 1
60  if self._levelInTasks > 0:
61  return
62  if isinstance(visitee,EDFilter):
63  if (visitee.type_() in self._presetFilters):
64  if (visitee.type_() not in self.filtersOnEndpaths):
self.filtersOnEndpaths.append(visitee.type_())
def SequenceVisitors.EndPathValidator.leave (   self,
  visitee 
)

Definition at line 65 of file SequenceVisitors.py.

References SequenceVisitors.EndPathValidator._levelInTasks, SequenceTypes.ModuleNodeOnTaskVisitor._levelInTasks, SequenceTypes.ModuleNodeNotOnTaskVisitor._levelInTasks, SequenceTypes.ExpandVisitor._levelInTasks, SequenceTypes.DecoratedNodeNameVisitor._levelInTasks, and SequenceTypes.DecoratedNodeNamePlusVisitor._levelInTasks.

65 
66  def leave(self,visitee):
67  if self._levelInTasks > 0:
68  if isinstance(visitee, Task):
69  self._levelInTasks -= 1
70 
# Use this on EndPaths
def SequenceVisitors.EndPathValidator.setLabel (   self,
  label 
)

Definition at line 47 of file SequenceVisitors.py.

References SequenceVisitors.PathValidator.__label, SequenceVisitors.EndPathValidator.__label, and Mixins._Labelable.__label.

Referenced by SequenceTypes.DummyModule.__init__(), and SequenceTypes.DummyBooleanModule.__init__().

47 
48  def setLabel(self,label):
self.__label = "'"+label+"' "

Member Data Documentation

SequenceVisitors.EndPathValidator.__label
private

Definition at line 45 of file SequenceVisitors.py.

Referenced by Mixins._ValidatingListBase._labelIfAny(), SequenceVisitors.EndPathValidator.enter(), SequenceVisitors.FinalPathValidator.enter(), SequenceVisitors.EndPathValidator.setLabel(), and SequenceVisitors.FinalPathValidator.setLabel().

SequenceVisitors.EndPathValidator._levelInTasks
private

Definition at line 46 of file SequenceVisitors.py.

Referenced by SequenceVisitors.EndPathValidator.enter(), SequenceVisitors.FinalPathValidator.enter(), SequenceVisitors.EndPathValidator.leave(), and SequenceVisitors.FinalPathValidator.leave().

list SequenceVisitors.EndPathValidator._presetFilters = ["TriggerResultsFilter", "HLTPrescaler"]
staticprivate

Definition at line 42 of file SequenceVisitors.py.

Referenced by SequenceVisitors.EndPathValidator.enter().

SequenceVisitors.EndPathValidator.filtersOnEndpaths

Definition at line 44 of file SequenceVisitors.py.

Referenced by SequenceVisitors.EndPathValidator.enter().