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 | Private Member Functions | Private Attributes
Mixins._SpecialImportRegistry Class Reference
Inheritance diagram for Mixins._SpecialImportRegistry:

Public Member Functions

def __init__
 
def getSpecialImports
 
def registerSpecialImportForType
 
def registerUse
 

Private Member Functions

def _reset
 

Private Attributes

 _registry
 

Detailed Description

This class collects special import statements of configuration types

Definition at line 24 of file Mixins.py.

Constructor & Destructor Documentation

def Mixins._SpecialImportRegistry.__init__ (   self)

Definition at line 26 of file Mixins.py.

26 
27  def __init__(self):
28  self._registry = {}

Member Function Documentation

def Mixins._SpecialImportRegistry._reset (   self)
private

Definition at line 29 of file Mixins.py.

29 
30  def _reset(self):
31  for lst in self._registry.values():
32  lst[1] = False
def Mixins._SpecialImportRegistry.getSpecialImports (   self)

Definition at line 46 of file Mixins.py.

46 
47  def getSpecialImports(self):
48  coll = set()
49  for (imp, used) in self._registry.values():
50  if used:
51  coll.add(imp)
52  return sorted(coll)
def Mixins._SpecialImportRegistry.registerSpecialImportForType (   self,
  cls,
  impStatement 
)

Definition at line 33 of file Mixins.py.

References Mixins._SpecialImportRegistry._registry.

33 
34  def registerSpecialImportForType(self, cls, impStatement):
35  className = cls.__name__
36  if className in self._registry:
37  raise RuntimeError("Error: the configuration type '%s' already has an import statement registered '%s'" % (className, self._registry[className][0]))
38  self._registry[className] = [impStatement, False]
def Mixins._SpecialImportRegistry.registerUse (   self,
  obj 
)

Definition at line 39 of file Mixins.py.

References Mixins._SpecialImportRegistry._registry.

39 
40  def registerUse(self, obj):
41  className = obj.__class__.__name__
42  try:
43  self._registry[className][1] = True
44  except KeyError:
45  pass

Member Data Documentation

Mixins._SpecialImportRegistry._registry
private

Definition at line 27 of file Mixins.py.

Referenced by Mixins._SpecialImportRegistry.registerSpecialImportForType(), and Mixins._SpecialImportRegistry.registerUse().