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.configChoiceField.SelectionSet Class Reference
Inheritance diagram for lsst.pex.config.configChoiceField.SelectionSet:

Public Member Functions

def __init__
 
def add
 
def discard
 
def __len__
 
def __iter__
 
def __contains__
 
def __repr__
 
def __str__
 

Private Attributes

 _dict
 
 _field
 
 _config
 
 __history
 
 _set
 

Detailed Description

Custom set class used to track the selection of multi-select
ConfigChoiceField.

This class allows user a multi-select ConfigChoiceField to add/discard
items from the set of active configs. Each change to the selection is
tracked in the field's history.

Definition at line 29 of file configChoiceField.py.

Constructor & Destructor Documentation

def lsst.pex.config.configChoiceField.SelectionSet.__init__ (   self,
  dict_,
  value,
  at = None,
  label = "assignment",
  setHistory = True 
)

Definition at line 38 of file configChoiceField.py.

38 
39  def __init__(self, dict_, value, at=None, label="assignment", setHistory=True):
40  if at is None:
41  at = traceback.extract_stack()[:-1]
42  self._dict = dict_;
43  self._field = self._dict._field
44  self._config = self._dict._config
45  self.__history = self._config._history.setdefault(self._field.name, [])
46  if value is not None:
47  try:
48  for v in value:
49  if v not in self._dict:
50  #invoke __getitem__ to ensure it's present
51  self._dict.__getitem__(v, at=at)
52  except TypeError:
53  msg = "Value %s is of incorrect type %s. Sequence type expected"(value, _typeStr(value))
54  raise FieldValidationError(self._field, self._config, msg)
55  self._set=set(value)
56  else:
57  self._set=set()
58 
59  if setHistory:
60  self.__history.append(("Set selection to %s"%self, at, label))

Member Function Documentation

def lsst.pex.config.configChoiceField.SelectionSet.__contains__ (   self,
  value 
)

Definition at line 92 of file configChoiceField.py.

92 
def __contains__(self, value): return value in self._set
def lsst.pex.config.configChoiceField.SelectionSet.__iter__ (   self)

Definition at line 91 of file configChoiceField.py.

91 
def __iter__(self): return iter(self._set)
def lsst.pex.config.configChoiceField.SelectionSet.__len__ (   self)

Definition at line 90 of file configChoiceField.py.

90 
def __len__(self): return len(self._set)
def lsst.pex.config.configChoiceField.SelectionSet.__repr__ (   self)

Definition at line 93 of file configChoiceField.py.

93 
def __repr__(self): return repr(list(self._set))
def lsst.pex.config.configChoiceField.SelectionSet.__str__ (   self)

Definition at line 94 of file configChoiceField.py.

94 
95  def __str__(self): return str(list(self._set))
96 
def lsst.pex.config.configChoiceField.SelectionSet.add (   self,
  value,
  at = None 
)

Definition at line 61 of file configChoiceField.py.

61 
62  def add(self, value, at= None):
63  if self._config._frozen:
64  raise FieldValidationError(self._field, self._config,
65  "Cannot modify a frozen Config")
66 
67  if at is None:
68  at = traceback.extract_stack()[:-1]
69 
70  if value not in self._dict:
71  #invoke __getitem__ to make sure it's present
72  self._dict.__getitem__(value, at=at)
73 
74  self.__history.append(("added %s to selection"%value, at, "selection"))
75  self._set.add(value)
def lsst.pex.config.configChoiceField.SelectionSet.discard (   self,
  value,
  at = None 
)

Definition at line 76 of file configChoiceField.py.

76 
77  def discard(self, value, at=None):
78  if self._config._frozen:
79  raise FieldValidationError(self._field, self._config,
80  "Cannot modify a frozen Config")
81 
82  if value not in self._dict:
83  return
84 
85  if at is None:
86  at = traceback.extract_stack()[:-1]
87 
88  self.__history.append(("removed %s from selection"%value, at, "selection"))
89  self._set.discard(value)

Member Data Documentation

lsst.pex.config.configChoiceField.SelectionSet.__history
private

Definition at line 44 of file configChoiceField.py.

lsst.pex.config.configChoiceField.SelectionSet._config
private

Definition at line 43 of file configChoiceField.py.

lsst.pex.config.configChoiceField.SelectionSet._dict
private

Definition at line 41 of file configChoiceField.py.

lsst.pex.config.configChoiceField.SelectionSet._field
private

Definition at line 42 of file configChoiceField.py.

lsst.pex.config.configChoiceField.SelectionSet._set
private

Definition at line 54 of file configChoiceField.py.


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