lsst.pex.config  16.0-14-g703d48b
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pex.config.listField.ListField Class Reference
Inheritance diagram for lsst.pex.config.listField.ListField:
lsst.pex.config.config.Field

Public Member Functions

def __init__ (self, doc, dtype, default=None, optional=False, listCheck=None, itemCheck=None, length=None, minLength=None, maxLength=None)
 
def validate (self, instance)
 
def __set__ (self, instance, value, at=None, label="assignment")
 
def toDict (self, instance)
 
def rename (self, instance)
 
def freeze (self, instance)
 
def save (self, outfile, instance)
 
def __get__ (self, instance, owner=None, at=None, label="default")
 
def __delete__ (self, instance, at=None, label='deletion')
 

Public Attributes

 listCheck
 
 itemCheck
 
 itemtype
 
 length
 
 minLength
 
 maxLength
 
 dtype
 
 doc
 
 default
 
 check
 
 optional
 
 source
 

Static Public Attributes

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

Detailed Description

A configuration field (`~lsst.pex.config.Field` subclass) that contains
a list of values of a specific type.

Parameters
----------
doc : `str`
    A description of the field.
dtype : class
    The data type of items in the list.
default : sequence, optional
    The default items for the field.
optional : `bool`, optional
    Set whether the field is *optional*. When `False`,
    `lsst.pex.config.Config.validate` will fail if the field's value is
    `None`.
listCheck : callable, optional
    A callable that validates the list as a whole.
itemCheck : callable, optional
    A callable that validates individual items in the list.
length : `int`, optional
    If set, this field must contain exactly ``length`` number of items.
minLength : `int`, optional
    If set, this field must contain *at least* ``minLength`` number of
    items.
maxLength : `int`, optional
    If set, this field must contain *no more than* ``maxLength`` number of
    items.

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

Definition at line 211 of file listField.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pex.config.listField.ListField.__init__ (   self,
  doc,
  dtype,
  default = None,
  optional = False,
  listCheck = None,
  itemCheck = None,
  length = None,
  minLength = None,
  maxLength = None 
)

Definition at line 254 of file listField.py.

Member Function Documentation

◆ __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.

◆ __get__()

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.

◆ __set__()

def lsst.pex.config.listField.ListField.__set__ (   self,
  instance,
  value,
  at = None,
  label = "assignment" 
)

Definition at line 346 of file listField.py.

◆ freeze()

def lsst.pex.config.config.Field.freeze (   self,
  instance 
)
inherited
Make this field read-only (for internal use only).

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.

Notes
-----
Freezing is only relevant for fields that hold subconfigs. Fields which
hold subconfigs should freeze each subconfig.

**Subclasses should implement this method.**

Definition at line 350 of file config.py.

◆ rename()

def lsst.pex.config.config.Field.rename (   self,
  instance 
)
inherited
Rename the field in a `~lsst.pex.config.Config` (for internal use
only).

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.

Notes
-----
This method is invoked by the `lsst.pex.config.Config` object that
contains this field and should not be called directly.

Renaming is only relevant for `~lsst.pex.config.Field` instances that
hold subconfigs. `~lsst.pex.config.Fields` that hold subconfigs should
rename each subconfig with the full field name as generated by
`lsst.pex.config.config._joinNamePath`.

Definition at line 300 of file config.py.

◆ save()

def lsst.pex.config.config.Field.save (   self,
  outfile,
  instance 
)
inherited
Save this field to a file (for internal use only).

Parameters
----------
outfile : file-like object
    A writeable field handle.
instance : `Config`
    The `Config` instance that contains this field.

Notes
-----
This method is invoked by the `~lsst.pex.config.Config` object that
contains this field and should not be called directly.

The output consists of the documentation string
(`lsst.pex.config.Field.doc`) formatted as a Python comment. The second
line is formatted as an assignment: ``{fullname}={value}``.

This output can be executed with Python.

Definition at line 408 of file config.py.

◆ toDict()

def lsst.pex.config.listField.ListField.toDict (   self,
  instance 
)
Convert the value of this field to a plain `list`.

`lsst.pex.config.Config.toDict` is the primary user of this method.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.

Returns
-------
`list`
    Plain `list` of items, or `None` if the field is not set.

Definition at line 361 of file listField.py.

◆ validate()

def lsst.pex.config.listField.ListField.validate (   self,
  instance 
)
Validate the field.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.

Raises
------
lsst.pex.config.FieldValidationError
    Raised if:

    - The field is not optional, but the value is `None`.
    - The list itself does not meet the requirements of the `length`,
      `minLength`, or `maxLength` attributes.
    - The `listCheck` callable returns `False`.

Notes
-----
Individual item checks (`itemCheck`) are applied when each item is
set and are not re-checked by this method.

Definition at line 306 of file listField.py.

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.

◆ itemCheck

lsst.pex.config.listField.ListField.itemCheck

Definition at line 282 of file listField.py.

◆ itemtype

lsst.pex.config.listField.ListField.itemtype

Definition at line 287 of file listField.py.

◆ length

lsst.pex.config.listField.ListField.length

Definition at line 291 of file listField.py.

◆ listCheck

lsst.pex.config.listField.ListField.listCheck

Definition at line 278 of file listField.py.

◆ maxLength

lsst.pex.config.listField.ListField.maxLength

Definition at line 301 of file listField.py.

◆ minLength

lsst.pex.config.listField.ListField.minLength

Definition at line 296 of file listField.py.

◆ optional

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

Definition at line 288 of file config.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.


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