LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsstDebug.Info Class Reference

Public Member Functions

 __init__ (self, modname)
 
 __getattr__ (self, what)
 
 __setattr__ (self, what, value)
 

Protected Attributes

 _modname = modname
 

Detailed Description

An object cognisant of debugging parameters appropriate for module
``modname``.

Any request for a value will return False unless that value has
been set, either in the module or as an attribute of this object.

E.g.

.. code-block:: python

    import lsstDebug

    display = lsstDebug.Info(__name__).display

will set display to `False`, unless display has been set with

.. code-block:: python

    lsstDebug.Info(__name__).display = True

Why is this interesting?  Because you can replace `lsstDebug.Info` with
your own version, e.g.

.. code-block:: python

    import lsstDebug

    def DebugInfo(name):
        # N.b. lsstDebug.Info(name) would call us recursively
        di = lsstDebug.getInfo(name)
        if name == "foo":
            di.display = dict(repair=1, background=2, calibrate=3)

        return di

    lsstDebug.Info = DebugInfo

Parameters
----------
modname : `str`
    Module name.

Raises
------
KeyError
    Raised if ``modname`` is not loaded.

Definition at line 28 of file lsstDebug.py.

Constructor & Destructor Documentation

◆ __init__()

lsstDebug.Info.__init__ ( self,
modname )

Definition at line 76 of file lsstDebug.py.

76 def __init__(self, modname):
77 import sys
78 self.__dict__["_dict"] = sys.modules[modname].__dict__
79 self._modname = modname
80

Member Function Documentation

◆ __getattr__()

lsstDebug.Info.__getattr__ ( self,
what )
Return the value of the variable "what" in ``self.__modname``
if set, else False

Definition at line 81 of file lsstDebug.py.

81 def __getattr__(self, what):
82 """Return the value of the variable "what" in ``self.__modname``
83 if set, else False"""
84 return self._dict.get(what, False)
85

◆ __setattr__()

lsstDebug.Info.__setattr__ ( self,
what,
value )
Set the value of the variable "what" in ``self.__modname``
to value

Definition at line 86 of file lsstDebug.py.

86 def __setattr__(self, what, value):
87 """Set the value of the variable "what" in ``self.__modname``
88 to value"""
89 self._dict[what] = value
90
91

Member Data Documentation

◆ _modname

lsstDebug.Info._modname = modname
protected

Definition at line 79 of file lsstDebug.py.


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