LSSTApplications  17.0,17.0+1,17.0+10,17.0+11,17.0+14,17.0+6,17.0-1-g377950a+5,17.0.1,17.0.1-1-g0d345a5+2,17.0.1-1-g444bd44+2,17.0.1-1-g46e6382+2,17.0.1-1-g4d4fbc4,17.0.1-1-g703d48b+1,17.0.1-1-g9deacb5+2,17.0.1-1-gaef33af,17.0.1-1-gea52513+2,17.0.1-1-gf4e0155+2,17.0.1-1-gfc65f5f+2,17.0.1-1-gfc6fb1f,17.0.1-2-g0ce9737+2,17.0.1-2-g2a2f1b99+2,17.0.1-2-gd73ec07+2,17.0.1-2-gd9aa6e4+1,17.0.1-3-gb71a564+2,17.0.1-3-gc20ba7d+2,17.0.1-4-g41c8d5dc0+1,17.0.1-4-gfa71e81,17.0.1-5-gb7d1e01+1,17.0.1-5-gf0ac6446+2,17.0.1-7-g69836a1+1
LSSTDataManagementBasePackage
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pex.config.registry.RegistryField Class Reference
Inheritance diagram for lsst.pex.config.registry.RegistryField:
lsst.pex.config.configChoiceField.ConfigChoiceField lsst.pex.config.config.Field

Public Member Functions

def __init__ (self, doc, registry, default=None, optional=False, multi=False)
 
def __deepcopy__ (self, memo)
 
def __get__ (self, instance, owner=None)
 
def __get__ (self, instance, owner=None, at=None, label="default")
 
def __set__ (self, instance, value, at=None, label="assignment")
 
def rename (self, instance)
 
def validate (self, instance)
 
def toDict (self, instance)
 
def freeze (self, instance)
 
def save (self, outfile, instance)
 
def __delete__ (self, instance, at=None, label='deletion')
 

Public Attributes

 registry
 
 typemap
 
 multi
 
 dtype
 
 doc
 
 default
 
 check
 
 optional
 
 source
 

Static Public Attributes

 instanceDictClass = RegistryInstanceDict
 
 supportedTypes = set((str, bool, float, int, complex))
 

Detailed Description

A configuration field whose options are defined in a `Registry`.

Parameters
----------
doc : `str`
    A description of the field.
registry : `Registry`
    The registry that contains this field.
default : `str`, optional
    The default target key.
optional : `bool`, optional
    When `False`, `lsst.pex.config.Config.validate` fails if the field's
    value is `None`.
multi : `bool`, optional
    If `True`, the field allows multiple selections. The default is
    `False`.

See also
--------
ChoiceField
ConfigChoiceField
ConfigDictField
ConfigField
ConfigurableField
DictField
Field
ListField
RangeField

Definition at line 278 of file registry.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pex.config.registry.RegistryField.__init__ (   self,
  doc,
  registry,
  default = None,
  optional = False,
  multi = False 
)

Definition at line 313 of file registry.py.

313  def __init__(self, doc, registry, default=None, optional=False, multi=False):
314  types = RegistryAdaptor(registry)
315  self.registry = registry
316  ConfigChoiceField.__init__(self, doc, types, default, optional, multi)
317 
def __init__(self, minimum, dataRange, Q)

Member Function Documentation

◆ __deepcopy__()

def lsst.pex.config.registry.RegistryField.__deepcopy__ (   self,
  memo 
)
Customize deep-copying, want a reference to the original registry.

WARNING: this must be overridden by subclasses if they change the
constructor signature!

Definition at line 318 of file registry.py.

318  def __deepcopy__(self, memo):
319  """Customize deep-copying, want a reference to the original registry.
320 
321  WARNING: this must be overridden by subclasses if they change the
322  constructor signature!
323  """
324  other = type(self)(doc=self.doc, registry=self.registry,
325  default=copy.deepcopy(self.default),
326  optional=self.optional, multi=self.multi)
327  other.source = self.source
328  return other
329 
330 
table::Key< int > type
Definition: Detector.cc:164

◆ __delete__()

def lsst.pex.config.config.Field.__delete__ (   self,
  instance,
  at = None,
  label = 'deletion' 
)
inherited
Delete an attribute from a `lsst.pex.config.Config` instance.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.
at : `list` of `lsst.pex.config.callStack.StackFrame`
    The call stack (created by
    `lsst.pex.config.callStack.getCallStack`).
label : `str`, optional
    Event label for the history.

Notes
-----
This is invoked by the owning `~lsst.pex.config.Config` object and
should not be called directly.

Definition at line 542 of file config.py.

542  def __delete__(self, instance, at=None, label='deletion'):
543  """Delete an attribute from a `lsst.pex.config.Config` instance.
544 
545  Parameters
546  ----------
547  instance : `lsst.pex.config.Config`
548  The config instance that contains this field.
549  at : `list` of `lsst.pex.config.callStack.StackFrame`
550  The call stack (created by
551  `lsst.pex.config.callStack.getCallStack`).
552  label : `str`, optional
553  Event label for the history.
554 
555  Notes
556  -----
557  This is invoked by the owning `~lsst.pex.config.Config` object and
558  should not be called directly.
559  """
560  if at is None:
561  at = getCallStack()
562  self.__set__(instance, None, at=at, label=label)
563 
def getCallStack(skip=0)
Definition: callStack.py:169

◆ __get__() [1/2]

def lsst.pex.config.configChoiceField.ConfigChoiceField.__get__ (   self,
  instance,
  owner = None 
)
inherited

Definition at line 428 of file configChoiceField.py.

428  def __get__(self, instance, owner=None):
429  if instance is None or not isinstance(instance, Config):
430  return self
431  else:
432  return self._getOrMake(instance)
433 

◆ __get__() [2/2]

def lsst.pex.config.config.Field.__get__ (   self,
  instance,
  owner = None,
  at = None,
  label = "default" 
)
inherited
Define how attribute access should occur on the Config instance
This is invoked by the owning config object and should not be called
directly

When the field attribute is accessed on a Config class object, it
returns the field object itself in order to allow inspection of
Config classes.

When the field attribute is access on a config instance, the actual
value described by the field (and held by the Config instance) is
returned.

Definition at line 467 of file config.py.

467  def __get__(self, instance, owner=None, at=None, label="default"):
468  """Define how attribute access should occur on the Config instance
469  This is invoked by the owning config object and should not be called
470  directly
471 
472  When the field attribute is accessed on a Config class object, it
473  returns the field object itself in order to allow inspection of
474  Config classes.
475 
476  When the field attribute is access on a config instance, the actual
477  value described by the field (and held by the Config instance) is
478  returned.
479  """
480  if instance is None or not isinstance(instance, Config):
481  return self
482  else:
483  return instance._storage[self.name]
484 

◆ __set__()

def lsst.pex.config.configChoiceField.ConfigChoiceField.__set__ (   self,
  instance,
  value,
  at = None,
  label = "assignment" 
)
inherited

Definition at line 434 of file configChoiceField.py.

434  def __set__(self, instance, value, at=None, label="assignment"):
435  if instance._frozen:
436  raise FieldValidationError(self, instance, "Cannot modify a frozen Config")
437  if at is None:
438  at = getCallStack()
439  instanceDict = self._getOrMake(instance)
440  if isinstance(value, self.instanceDictClass):
441  for k, v in value.items():
442  instanceDict.__setitem__(k, v, at=at, label=label)
443  instanceDict._setSelection(value._selection, at=at, label=label)
444 
445  else:
446  instanceDict._setSelection(value, at=at, label=label)
447 
def getCallStack(skip=0)
Definition: callStack.py:169

◆ freeze()

def lsst.pex.config.configChoiceField.ConfigChoiceField.freeze (   self,
  instance 
)
inherited

Definition at line 481 of file configChoiceField.py.

481  def freeze(self, instance):
482  # When a config is frozen it should not be affected by anything further
483  # being added to a registry, so create a deep copy of the registry
484  # typemap
485  self.typemap = copy.deepcopy(self.typemap)
486  instanceDict = self.__get__(instance)
487  for v in instanceDict.values():
488  v.freeze()
489 

◆ rename()

def lsst.pex.config.configChoiceField.ConfigChoiceField.rename (   self,
  instance 
)
inherited

Definition at line 448 of file configChoiceField.py.

448  def rename(self, instance):
449  instanceDict = self.__get__(instance)
450  fullname = _joinNamePath(instance._name, self.name)
451  instanceDict._rename(fullname)
452 

◆ save()

def lsst.pex.config.configChoiceField.ConfigChoiceField.save (   self,
  outfile,
  instance 
)
inherited

Definition at line 496 of file configChoiceField.py.

496  def save(self, outfile, instance):
497  instanceDict = self.__get__(instance)
498  fullname = _joinNamePath(instance._name, self.name)
499  for v in instanceDict.values():
500  v._save(outfile)
501  if self.multi:
502  outfile.write(u"{}.names={!r}\n".format(fullname, instanceDict.names))
503  else:
504  outfile.write(u"{}.name={!r}\n".format(fullname, instanceDict.name))
505 
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:168

◆ toDict()

def lsst.pex.config.configChoiceField.ConfigChoiceField.toDict (   self,
  instance 
)
inherited

Definition at line 465 of file configChoiceField.py.

465  def toDict(self, instance):
466  instanceDict = self.__get__(instance)
467 
468  dict_ = {}
469  if self.multi:
470  dict_["names"] = instanceDict.names
471  else:
472  dict_["name"] = instanceDict.name
473 
474  values = {}
475  for k, v in instanceDict.items():
476  values[k] = v.toDict()
477  dict_["values"] = values
478 
479  return dict_
480 

◆ validate()

def lsst.pex.config.configChoiceField.ConfigChoiceField.validate (   self,
  instance 
)
inherited

Definition at line 453 of file configChoiceField.py.

453  def validate(self, instance):
454  instanceDict = self.__get__(instance)
455  if instanceDict.active is None and not self.optional:
456  msg = "Required field cannot be None"
457  raise FieldValidationError(self, instance, msg)
458  elif instanceDict.active is not None:
459  if self.multi:
460  for a in instanceDict.active:
461  a.validate()
462  else:
463  instanceDict.active.validate()
464 

Member Data Documentation

◆ check

lsst.pex.config.config.Field.check
inherited

Definition at line 284 of file config.py.

◆ default

lsst.pex.config.config.Field.default
inherited

Definition at line 280 of file config.py.

◆ doc

lsst.pex.config.config.Field.doc
inherited

Definition at line 271 of file config.py.

◆ dtype

lsst.pex.config.config.Field.dtype
inherited

Definition at line 267 of file config.py.

◆ instanceDictClass

lsst.pex.config.registry.RegistryField.instanceDictClass = RegistryInstanceDict
static

Definition at line 309 of file registry.py.

◆ multi

lsst.pex.config.configChoiceField.ConfigChoiceField.multi
inherited

Definition at line 414 of file configChoiceField.py.

◆ optional

lsst.pex.config.config.Field.optional
inherited

Definition at line 288 of file config.py.

◆ registry

lsst.pex.config.registry.RegistryField.registry

Definition at line 315 of file registry.py.

◆ source

lsst.pex.config.config.Field.source
inherited

Definition at line 295 of file config.py.

◆ supportedTypes

lsst.pex.config.config.Field.supportedTypes = set((str, bool, float, int, complex))
staticinherited

Definition at line 253 of file config.py.

◆ typemap

lsst.pex.config.configChoiceField.ConfigChoiceField.typemap
inherited

Definition at line 413 of file configChoiceField.py.


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