LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | Private Attributes | List of all members
lsst.pex.config.config.ConfigMeta Class Reference
Inheritance diagram for lsst.pex.config.config.ConfigMeta:

Public Member Functions

def __init__
 
def __setattr__
 

Private Attributes

 _fields
 
 _source
 

Detailed Description

A metaclass for Config

Adds a dictionary containing all Field class attributes
as a class attribute called '_fields', and adds the name of each field as 
an instance variable of the field itself (so you don't have to pass the 
name of the field to the field constructor).

Definition at line 76 of file config.py.

Constructor & Destructor Documentation

def lsst.pex.config.config.ConfigMeta.__init__ (   self,
  name,
  bases,
  dict_ 
)

Definition at line 84 of file config.py.

84 
85  def __init__(self, name, bases, dict_):
86  type.__init__(self, name, bases, dict_)
87  self._fields = {}
88  self._source = traceback.extract_stack(limit=2)[0]
89  def getFields(classtype):
90  fields = {}
91  bases=list(classtype.__bases__)
92  bases.reverse()
93  for b in bases:
94  fields.update(getFields(b))
95 
96  for k, v in classtype.__dict__.iteritems():
97  if isinstance(v, Field):
98  fields[k] = v
99  return fields
100 
101  fields = getFields(self)
102  for k, v in fields.iteritems():
103  setattr(self, k, copy.deepcopy(v))

Member Function Documentation

def lsst.pex.config.config.ConfigMeta.__setattr__ (   self,
  name,
  value 
)

Definition at line 104 of file config.py.

105  def __setattr__(self, name, value):
106  if isinstance(value, Field):
107  value.name = name
108  self._fields[name] = value
109  type.__setattr__(self, name, value)

Member Data Documentation

lsst.pex.config.config.ConfigMeta._fields
private

Definition at line 86 of file config.py.

lsst.pex.config.config.ConfigMeta._source
private

Definition at line 87 of file config.py.


The documentation for this class was generated from the following file: