LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
base
11.0
python
lsstDebug.py
Go to the documentation of this file.
1
#
2
# LSST Data Management System
3
# Copyright 2008, 2009, 2010 LSST Corporation.
4
#
5
# This product includes software developed by the
6
# LSST Project (http://www.lsst.org/).
7
#
8
# This program is free software: you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation, either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the LSST License Statement and
19
# the GNU General Public License along with this program. If not,
20
# see <http://www.lsstcorp.org/LegalNotices/>.
21
#
22
23
#
24
# Define a class to configure debugging information
25
#
26
class
Info
(object):
27
"""An object cognisant of debugging parameters appropriate for module "name"; any request for a value
28
will return False unless that value has been set, either in the module or as an attribute of this object.
29
30
E.g.
31
import lsstDebug
32
33
display = lsstDebug.Info(__name__).display
34
will set display to False, unless display has been set with
35
lsstDebug.Info(__name__).display = True
36
37
Why is this interesting? Because you can replace lsstDebug.Info with your own version, e.g.
38
39
import lsstDebug
40
41
def DebugInfo(name):
42
di = lsstDebug.getInfo(name) # N.b. lsstDebug.Info(name) would call us recursively
43
if name == "foo":
44
di.display = True
45
46
return di
47
48
lsstDebug.Info = DebugInfo
49
"""
50
def
__init__
(self, modname):
51
import
sys
52
self.__dict__[
"_dict"
] = sys.modules[modname].__dict__
53
self.
_modname
= modname
54
55
def
__getattr__
(self, what):
56
"""Return the value of the variable "what" in self.__modname if set, else False"""
57
return
self._dict.get(what,
False
)
58
59
def
__setattr__
(self, what, value):
60
"""Set the value of the variable "what" in self.__modname to value"""
61
self._dict[what] = value
62
63
getInfo = Info
lsstDebug.Info.__setattr__
def __setattr__
Definition:
lsstDebug.py:59
lsstDebug.Info
Definition:
lsstDebug.py:26
lsstDebug.Info.__getattr__
def __getattr__
Definition:
lsstDebug.py:55
lsstDebug.Info._modname
_modname
Definition:
lsstDebug.py:53
lsstDebug.Info.__init__
def __init__
Definition:
lsstDebug.py:50
Generated on Thu Sep 24 2015 02:29:18 for LSSTApplications by
1.8.5