LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
The class can be used to turn on debugging output in a non-intrusive way. For example, the variable lsstDebug.Info
"lsst.meas.astrom.astrom").debug is used to control debugging output from the lsst.meas.astrom.astrom module. It is always safe to interrogate lsstDebug
for example lsstDebug.Info
"Robert.Hugh.Lupton").isBadPerson will return False. The convention is that the name ("lsst.meas.astrom.astrom") is the __name__
of the module, so the source code will typically look something like: import lsstDebug print lsstDebug.Info(__name__).display which will print False
unless lsstDebug.Info(__name__)
display has somehow been set to True
Why is this interesting? Because you can replace lsstDebug.Info
with your own version, e.g if you put import lsstDebug def DebugInfo(name): di = lsstDebug.getInfo(name) # N.b. lsstDebug.Info(name) would call us recursively if name == "foo": di.display = True return di lsstDebug.Info = DebugInfo into a file debug.py and import lsstDebug print "display is", lsstDebug.Info(__name__).display into foo.py then $ python -c "import foo" display is False but $ python -c "import debug; import foo" display is True The lsst.pipe.base.cmdLineTask.CmdLineTask command line task interface supports a flag –debug
to import debug.py from your PYTHONPATH