|
LSSTApplications
18.1.0
LSSTDataManagementBasePackage
|
Classes | |
| class | TemplateMeta |
Functions | |
| def | isAttributeSafeToTransfer (name, value) |
| def | continueClass (cls) |
| def | inClass (cls, name=None) |
Variables | |
| INTRINSIC_SPECIAL_ATTRIBUTES | |
| def lsst.utils.wrappers.continueClass | ( | cls | ) |
Re-open the decorated class, adding any new definitions into the original.
For example::
.. code-block:: python
class Foo:
pass
@continueClass
class Foo:
def run(self):
return None
is equivalent to::
.. code-block:: python
class Foo:
def run(self):
return None
.. warning::
Python's built-in `super` function does not behave properly in classes
decorated with `continueClass`. Base class methods must be invoked
directly using their explicit types instead.
Definition at line 59 of file wrappers.py.
| def lsst.utils.wrappers.inClass | ( | cls, | |
name = None |
|||
| ) |
Add the decorated function to the given class as a method.
For example::
.. code-block:: python
class Foo:
pass
@inClass(Foo)
def run(self):
return None
is equivalent to::
.. code-block:: python
class Foo:
def run(self):
return None
Standard decorators like ``classmethod``, ``staticmethod``, and
``property`` may be used *after* this decorator. Custom decorators
may only be used if they return an object with a ``__name__`` attribute
or the ``name`` optional argument is provided.
Definition at line 102 of file wrappers.py.
| def lsst.utils.wrappers.isAttributeSafeToTransfer | ( | name, | |
| value | |||
| ) |
Return True if an attribute is safe to monkeypatch-transfer to another class. This rejects special methods that are defined automatically for all classes, leaving only those explicitly defined in a class decorated by `continueClass` or registered with an instance of `TemplateMeta`.
Definition at line 45 of file wrappers.py.
| lsst.utils.wrappers.INTRINSIC_SPECIAL_ATTRIBUTES |
Definition at line 32 of file wrappers.py.
1.8.13