Commit 6476d854894c296fd7c09d974629e15b6cc29d6f
1 parent
4f9b688d
Implement _set_input_obs() and _init_cscript() methods at base class level to av…
…oid code duplication in cscripts.
Showing
18 changed files
with
108 additions
and
348 deletions
cscripts/cscaldb.py
| @@ -37,7 +37,7 @@ class cscaldb(ctools.cscript): | @@ -37,7 +37,7 @@ class cscaldb(ctools.cscript): | ||
| 37 | into the "cscaldb.log" log file. | 37 | into the "cscaldb.log" log file. |
| 38 | """ | 38 | """ |
| 39 | 39 | ||
| 40 | - # Constructors and destructors | 40 | + # Constructor |
| 41 | def __init__(self, *argv): | 41 | def __init__(self, *argv): |
| 42 | """ | 42 | """ |
| 43 | Constructor. | 43 | Constructor. |
| @@ -46,25 +46,10 @@ class cscaldb(ctools.cscript): | @@ -46,25 +46,10 @@ class cscaldb(ctools.cscript): | ||
| 46 | self._name = "cscaldb" | 46 | self._name = "cscaldb" |
| 47 | self._version = "1.1.0" | 47 | self._version = "1.1.0" |
| 48 | 48 | ||
| 49 | - # Initialise application | ||
| 50 | - if len(argv) == 0: | ||
| 51 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 52 | - elif len(argv) ==1: | ||
| 53 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 54 | - else: | ||
| 55 | - raise TypeError("Invalid number of arguments given.") | 49 | + # Initialise application by calling the appropriate class |
| 50 | + # constructor. | ||
| 51 | + self._init_cscript(argv) | ||
| 56 | 52 | ||
| 57 | - # Set logger properties | ||
| 58 | - self._log_header() | ||
| 59 | - self._log.date(True) | ||
| 60 | - | ||
| 61 | - # Return | ||
| 62 | - return | ||
| 63 | - | ||
| 64 | - def __del__(self): | ||
| 65 | - """ | ||
| 66 | - Destructor. | ||
| 67 | - """ | ||
| 68 | # Return | 53 | # Return |
| 69 | return | 54 | return |
| 70 | 55 |
cscripts/csfindobs.py
| @@ -33,7 +33,7 @@ class csfindobs(ctools.cscript): | @@ -33,7 +33,7 @@ class csfindobs(ctools.cscript): | ||
| 33 | Find observations from an IACT data store. | 33 | Find observations from an IACT data store. |
| 34 | """ | 34 | """ |
| 35 | 35 | ||
| 36 | - # Constructors and destructors | 36 | + # Constructor |
| 37 | def __init__(self, *argv): | 37 | def __init__(self, *argv): |
| 38 | """ | 38 | """ |
| 39 | Constructor. | 39 | Constructor. |
| @@ -44,32 +44,13 @@ class csfindobs(ctools.cscript): | @@ -44,32 +44,13 @@ class csfindobs(ctools.cscript): | ||
| 44 | self._verbose = False | 44 | self._verbose = False |
| 45 | self._datapath = os.getenv("VHEFITS","") | 45 | self._datapath = os.getenv("VHEFITS","") |
| 46 | 46 | ||
| 47 | - # Initialise application | ||
| 48 | - if len(argv) == 0: | ||
| 49 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 50 | - elif len(argv) ==1: | ||
| 51 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 52 | - else: | ||
| 53 | - raise TypeError("Invalid number of arguments given.") | ||
| 54 | - | ||
| 55 | - # Set logger properties | ||
| 56 | - self._log_header() | ||
| 57 | - self._log.date(True) | 47 | + # Initialise application by calling the appropriate class |
| 48 | + # constructor. | ||
| 49 | + self._init_cscript(argv) | ||
| 58 | 50 | ||
| 59 | # Return | 51 | # Return |
| 60 | return | 52 | return |
| 61 | 53 | ||
| 62 | - def __del__(self): | ||
| 63 | - """ | ||
| 64 | - Destructor. | ||
| 65 | - """ | ||
| 66 | - # Write separator into logger | ||
| 67 | - if self._logTerse(): | ||
| 68 | - self._log("\n") | ||
| 69 | - | ||
| 70 | - # Return | ||
| 71 | - return | ||
| 72 | - | ||
| 73 | 54 | ||
| 74 | # Private methods | 55 | # Private methods |
| 75 | def _get_parameters(self): | 56 | def _get_parameters(self): |
cscripts/csiactcopy.py
| @@ -35,7 +35,7 @@ class csiactcopy(ctools.cscript): | @@ -35,7 +35,7 @@ class csiactcopy(ctools.cscript): | ||
| 35 | observations. Index files get merged and updated accordingly. | 35 | observations. Index files get merged and updated accordingly. |
| 36 | """ | 36 | """ |
| 37 | 37 | ||
| 38 | - # Constructors and destructors | 38 | + # Constructor |
| 39 | def __init__(self, *argv): | 39 | def __init__(self, *argv): |
| 40 | """ | 40 | """ |
| 41 | Constructor. | 41 | Constructor. |
| @@ -45,26 +45,10 @@ class csiactcopy(ctools.cscript): | @@ -45,26 +45,10 @@ class csiactcopy(ctools.cscript): | ||
| 45 | self._version = "1.1.0" | 45 | self._version = "1.1.0" |
| 46 | self._datapath = os.getenv("VHEFITS","") | 46 | self._datapath = os.getenv("VHEFITS","") |
| 47 | 47 | ||
| 48 | - # Initialise application | ||
| 49 | - if len(argv) == 0: | ||
| 50 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 51 | - elif len(argv) == 1: | ||
| 52 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 53 | - else: | ||
| 54 | - raise TypeError("Invalid number of arguments given.") | ||
| 55 | - | ||
| 56 | - # Set logger properties | ||
| 57 | - self._log_header() | ||
| 58 | - self._log.date(True) | ||
| 59 | - | ||
| 60 | - # Return | ||
| 61 | - return | 48 | + # Initialise application by calling the appropriate class |
| 49 | + # constructor. | ||
| 50 | + self._init_cscript(argv) | ||
| 62 | 51 | ||
| 63 | - def __del__(self): | ||
| 64 | - """ | ||
| 65 | - Destructor. | ||
| 66 | - """ | ||
| 67 | - | ||
| 68 | # Return | 52 | # Return |
| 69 | return | 53 | return |
| 70 | 54 |
cscripts/csiactdata.py
| @@ -36,7 +36,7 @@ class csiactdata(ctools.cscript): | @@ -36,7 +36,7 @@ class csiactdata(ctools.cscript): | ||
| 36 | for 'csiactobs'. | 36 | for 'csiactobs'. |
| 37 | """ | 37 | """ |
| 38 | 38 | ||
| 39 | - # Constructors and destructors | 39 | + # Constructor |
| 40 | def __init__(self, *argv): | 40 | def __init__(self, *argv): |
| 41 | """ | 41 | """ |
| 42 | Constructor. | 42 | Constructor. |
| @@ -47,25 +47,10 @@ class csiactdata(ctools.cscript): | @@ -47,25 +47,10 @@ class csiactdata(ctools.cscript): | ||
| 47 | self._datapath = os.getenv("VHEFITS","") | 47 | self._datapath = os.getenv("VHEFITS","") |
| 48 | self._prodnames = [] | 48 | self._prodnames = [] |
| 49 | 49 | ||
| 50 | - # Initialise application | ||
| 51 | - if len(argv) == 0: | ||
| 52 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 53 | - elif len(argv) == 1: | ||
| 54 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 55 | - else: | ||
| 56 | - raise TypeError("Invalid number of arguments given.") | 50 | + # Initialise application by calling the appropriate class |
| 51 | + # constructor. | ||
| 52 | + self._init_cscript(argv) | ||
| 57 | 53 | ||
| 58 | - # Set logger properties | ||
| 59 | - self._log_header() | ||
| 60 | - self._log.date(True) | ||
| 61 | - | ||
| 62 | - # Return | ||
| 63 | - return | ||
| 64 | - | ||
| 65 | - def __del__(self): | ||
| 66 | - """ | ||
| 67 | - Destructor. | ||
| 68 | - """ | ||
| 69 | # Return | 54 | # Return |
| 70 | return | 55 | return |
| 71 | 56 |
cscripts/csiactobs.py
| @@ -38,7 +38,7 @@ class csiactobs(ctools.cscript): | @@ -38,7 +38,7 @@ class csiactobs(ctools.cscript): | ||
| 38 | http://gamma-astro-data-formats.readthedocs.org/en/latest/ | 38 | http://gamma-astro-data-formats.readthedocs.org/en/latest/ |
| 39 | """ | 39 | """ |
| 40 | 40 | ||
| 41 | - # Constructors and destructors | 41 | + # Constructor |
| 42 | def __init__(self, *argv): | 42 | def __init__(self, *argv): |
| 43 | """ | 43 | """ |
| 44 | Constructor. | 44 | Constructor. |
| @@ -55,28 +55,13 @@ class csiactobs(ctools.cscript): | @@ -55,28 +55,13 @@ class csiactobs(ctools.cscript): | ||
| 55 | self._models = gammalib.GModels() | 55 | self._models = gammalib.GModels() |
| 56 | self._runlist = [] | 56 | self._runlist = [] |
| 57 | 57 | ||
| 58 | - # Initialise application | ||
| 59 | - if len(argv) == 0: | ||
| 60 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 61 | - elif len(argv) == 1: | ||
| 62 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 63 | - else: | ||
| 64 | - raise TypeError("Invalid number of arguments given.") | ||
| 65 | - | ||
| 66 | - # Set logger properties | ||
| 67 | - self._log_header() | ||
| 68 | - self._log.date(True) | 58 | + # Initialise application by calling the appropriate class |
| 59 | + # constructor. | ||
| 60 | + self._init_cscript(argv) | ||
| 69 | 61 | ||
| 70 | # Return | 62 | # Return |
| 71 | return | 63 | return |
| 72 | 64 | ||
| 73 | - def __del__(self): | ||
| 74 | - """ | ||
| 75 | - Destructor. | ||
| 76 | - """ | ||
| 77 | - # Return | ||
| 78 | - return | ||
| 79 | - | ||
| 80 | 65 | ||
| 81 | # Private methods | 66 | # Private methods |
| 82 | def _get_parameters(self): | 67 | def _get_parameters(self): |
cscripts/cslightcrv.py
| @@ -61,7 +61,7 @@ class cslightcrv(ctools.cscript): | @@ -61,7 +61,7 @@ class cslightcrv(ctools.cscript): | ||
| 61 | observation container and saves results in a FITS file. | 61 | observation container and saves results in a FITS file. |
| 62 | """ | 62 | """ |
| 63 | 63 | ||
| 64 | - # Constructors and destructors | 64 | + # Constructor |
| 65 | def __init__(self, *argv): | 65 | def __init__(self, *argv): |
| 66 | """ | 66 | """ |
| 67 | Constructor. | 67 | Constructor. |
| @@ -75,34 +75,13 @@ class cslightcrv(ctools.cscript): | @@ -75,34 +75,13 @@ class cslightcrv(ctools.cscript): | ||
| 75 | self._tbins = gammalib.GGti() | 75 | self._tbins = gammalib.GGti() |
| 76 | self._stacked = False | 76 | self._stacked = False |
| 77 | 77 | ||
| 78 | - # Initialise observation container. In case that an observation | ||
| 79 | - # container is provided on the command line, this container will | ||
| 80 | - # be used to initialise the class. | ||
| 81 | - if len(argv) > 0 and isinstance(argv[0],gammalib.GObservations): | ||
| 82 | - self._obs = argv[0] | ||
| 83 | - argv = argv[1:] | ||
| 84 | - else: | ||
| 85 | - self._obs = gammalib.GObservations() | ||
| 86 | - | ||
| 87 | - # Initialise application | ||
| 88 | - if len(argv) == 0: | ||
| 89 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 90 | - elif len(argv) == 1: | ||
| 91 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 92 | - else: | ||
| 93 | - raise TypeError("Invalid number of arguments given.") | ||
| 94 | - | ||
| 95 | - # Set logger properties | ||
| 96 | - self._log_header() | ||
| 97 | - self._log.date(True) | 78 | + # Initialise observation container from constructor arguments. |
| 79 | + self._obs = self._set_input_obs(argv) | ||
| 98 | 80 | ||
| 99 | - # Return | ||
| 100 | - return | 81 | + # Initialise application by calling the appropriate class |
| 82 | + # constructor. | ||
| 83 | + self._init_cscript(argv) | ||
| 101 | 84 | ||
| 102 | - def __del__(self): | ||
| 103 | - """ | ||
| 104 | - Destructor. | ||
| 105 | - """ | ||
| 106 | # Return | 85 | # Return |
| 107 | return | 86 | return |
| 108 | 87 |
cscripts/csmodelinfo.py
| @@ -36,7 +36,7 @@ class csmodelinfo(ctools.cscript): | @@ -36,7 +36,7 @@ class csmodelinfo(ctools.cscript): | ||
| 36 | with DS9. | 36 | with DS9. |
| 37 | """ | 37 | """ |
| 38 | 38 | ||
| 39 | - # Constructors and destructors | 39 | + # Constructor |
| 40 | def __init__(self, *argv): | 40 | def __init__(self, *argv): |
| 41 | """ | 41 | """ |
| 42 | Constructor. | 42 | Constructor. |
| @@ -60,25 +60,10 @@ class csmodelinfo(ctools.cscript): | @@ -60,25 +60,10 @@ class csmodelinfo(ctools.cscript): | ||
| 60 | self._free_color = "green" | 60 | self._free_color = "green" |
| 61 | self._fixed_color = "magenta" | 61 | self._fixed_color = "magenta" |
| 62 | 62 | ||
| 63 | - # Initialise application | ||
| 64 | - if len(argv) == 0: | ||
| 65 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 66 | - elif len(argv) == 1: | ||
| 67 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 68 | - else: | ||
| 69 | - raise TypeError("Invalid number of arguments given.") | 63 | + # Initialise application by calling the appropriate class |
| 64 | + # constructor. | ||
| 65 | + self._init_cscript(argv) | ||
| 70 | 66 | ||
| 71 | - # Set logger properties | ||
| 72 | - self._log_header() | ||
| 73 | - self._log.date(True) | ||
| 74 | - | ||
| 75 | - # Return | ||
| 76 | - return | ||
| 77 | - | ||
| 78 | - def __del__(self): | ||
| 79 | - """ | ||
| 80 | - Destructor. | ||
| 81 | - """ | ||
| 82 | # Return | 67 | # Return |
| 83 | return | 68 | return |
| 84 | 69 |
cscripts/csmodelmerge.py
| @@ -35,7 +35,7 @@ class csmodelmerge(ctools.cscript): | @@ -35,7 +35,7 @@ class csmodelmerge(ctools.cscript): | ||
| 35 | a single model definition XML file. | 35 | a single model definition XML file. |
| 36 | """ | 36 | """ |
| 37 | 37 | ||
| 38 | - # Constructors and destructors | 38 | + # Constructor |
| 39 | def __init__(self, *argv): | 39 | def __init__(self, *argv): |
| 40 | """ | 40 | """ |
| 41 | Constructor. | 41 | Constructor. |
| @@ -48,28 +48,13 @@ class csmodelmerge(ctools.cscript): | @@ -48,28 +48,13 @@ class csmodelmerge(ctools.cscript): | ||
| 48 | self._files = None | 48 | self._files = None |
| 49 | self._models = gammalib.GModels() | 49 | self._models = gammalib.GModels() |
| 50 | 50 | ||
| 51 | - # Initialise application | ||
| 52 | - if len(argv) == 0: | ||
| 53 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 54 | - elif len(argv) == 1: | ||
| 55 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 56 | - else: | ||
| 57 | - raise TypeError("Invalid number of arguments given.") | ||
| 58 | - | ||
| 59 | - # Set logger properties | ||
| 60 | - self._log_header() | ||
| 61 | - self._log.date(True) | 51 | + # Initialise application by calling the appropriate class |
| 52 | + # constructor. | ||
| 53 | + self._init_cscript(argv) | ||
| 62 | 54 | ||
| 63 | # Return | 55 | # Return |
| 64 | return | 56 | return |
| 65 | 57 | ||
| 66 | - def __del__(self): | ||
| 67 | - """ | ||
| 68 | - Destructor. | ||
| 69 | - """ | ||
| 70 | - # Return | ||
| 71 | - return | ||
| 72 | - | ||
| 73 | 58 | ||
| 74 | # Private methods | 59 | # Private methods |
| 75 | def _get_parameters(self): | 60 | def _get_parameters(self): |
cscripts/csobs2caldb.py
| @@ -40,7 +40,7 @@ class csobs2caldb(ctools.cscript): | @@ -40,7 +40,7 @@ class csobs2caldb(ctools.cscript): | ||
| 40 | index of any observation using the hidden "index" parameter. | 40 | index of any observation using the hidden "index" parameter. |
| 41 | """ | 41 | """ |
| 42 | 42 | ||
| 43 | - # Constructors and destructors | 43 | + # Constructor |
| 44 | def __init__(self, *argv): | 44 | def __init__(self, *argv): |
| 45 | """ | 45 | """ |
| 46 | Constructor. | 46 | Constructor. |
| @@ -59,28 +59,13 @@ class csobs2caldb(ctools.cscript): | @@ -59,28 +59,13 @@ class csobs2caldb(ctools.cscript): | ||
| 59 | self._base_dir = "" | 59 | self._base_dir = "" |
| 60 | self._cal_dir = "" | 60 | self._cal_dir = "" |
| 61 | 61 | ||
| 62 | - # Initialise application | ||
| 63 | - if len(argv) == 0: | ||
| 64 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 65 | - elif len(argv) == 1: | ||
| 66 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 67 | - else: | ||
| 68 | - raise TypeError("Invalid number of arguments given.") | ||
| 69 | - | ||
| 70 | - # Set logger properties | ||
| 71 | - self._log_header() | ||
| 72 | - self._log.date(True) | 62 | + # Initialise application by calling the appropriate class |
| 63 | + # constructor. | ||
| 64 | + self._init_cscript(argv) | ||
| 73 | 65 | ||
| 74 | # Return | 66 | # Return |
| 75 | return | 67 | return |
| 76 | 68 | ||
| 77 | - def __del__(self): | ||
| 78 | - """ | ||
| 79 | - Destructor. | ||
| 80 | - """ | ||
| 81 | - # Return | ||
| 82 | - return | ||
| 83 | - | ||
| 84 | 69 | ||
| 85 | # Private methods | 70 | # Private methods |
| 86 | def _get_parameters(self): | 71 | def _get_parameters(self): |
cscripts/csobsdef.py
| @@ -72,7 +72,7 @@ class csobsdef(ctools.cscript): | @@ -72,7 +72,7 @@ class csobsdef(ctools.cscript): | ||
| 72 | IRF in the "dummy" calibration database. | 72 | IRF in the "dummy" calibration database. |
| 73 | """ | 73 | """ |
| 74 | 74 | ||
| 75 | - # Constructors and destructors | 75 | + # Constructor |
| 76 | def __init__(self, *argv): | 76 | def __init__(self, *argv): |
| 77 | """ | 77 | """ |
| 78 | Constructor. | 78 | Constructor. |
| @@ -89,25 +89,10 @@ class csobsdef(ctools.cscript): | @@ -89,25 +89,10 @@ class csobsdef(ctools.cscript): | ||
| 89 | self._clobber = True | 89 | self._clobber = True |
| 90 | self._debug = False | 90 | self._debug = False |
| 91 | 91 | ||
| 92 | - # Initialise application | ||
| 93 | - if len(argv) == 0: | ||
| 94 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 95 | - elif len(argv) ==1: | ||
| 96 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 97 | - else: | ||
| 98 | - raise TypeError("Invalid number of arguments given.") | 92 | + # Initialise application by calling the appropriate class |
| 93 | + # constructor. | ||
| 94 | + self._init_cscript(argv) | ||
| 99 | 95 | ||
| 100 | - # Set logger properties | ||
| 101 | - self._log_header() | ||
| 102 | - self._log.date(True) | ||
| 103 | - | ||
| 104 | - # Return | ||
| 105 | - return | ||
| 106 | - | ||
| 107 | - def __del__(self): | ||
| 108 | - """ | ||
| 109 | - Destructor. | ||
| 110 | - """ | ||
| 111 | # Return | 96 | # Return |
| 112 | return | 97 | return |
| 113 | 98 |
cscripts/csobsinfo.py
| @@ -31,7 +31,7 @@ class csobsinfo(ctools.cscript): | @@ -31,7 +31,7 @@ class csobsinfo(ctools.cscript): | ||
| 31 | Shows the content of an observation container. | 31 | Shows the content of an observation container. |
| 32 | """ | 32 | """ |
| 33 | 33 | ||
| 34 | - # Constructors and destructors | 34 | + # Constructor |
| 35 | def __init__(self, *argv): | 35 | def __init__(self, *argv): |
| 36 | """ | 36 | """ |
| 37 | Constructor. | 37 | Constructor. |
| @@ -51,33 +51,13 @@ class csobsinfo(ctools.cscript): | @@ -51,33 +51,13 @@ class csobsinfo(ctools.cscript): | ||
| 51 | self._ebounds = gammalib.GEbounds() | 51 | self._ebounds = gammalib.GEbounds() |
| 52 | self._gti = gammalib.GGti() | 52 | self._gti = gammalib.GGti() |
| 53 | 53 | ||
| 54 | - # Initialise observation | ||
| 55 | - if len(argv) > 0 and isinstance(argv[0],gammalib.GObservations): | ||
| 56 | - self._obs = argv[0] | ||
| 57 | - argv = argv[1:] | ||
| 58 | - else: | ||
| 59 | - self._obs = gammalib.GObservations() | ||
| 60 | - self._obs.clear() | 54 | + # Initialise observation container from constructor arguments. |
| 55 | + self._obs = self._set_input_obs(argv) | ||
| 61 | 56 | ||
| 62 | - # Initialise application | ||
| 63 | - if len(argv) == 0: | ||
| 64 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 65 | - elif len(argv) == 1: | ||
| 66 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 67 | - else: | ||
| 68 | - raise TypeError("Invalid number of arguments given.") | 57 | + # Initialise application by calling the appropriate class |
| 58 | + # constructor. | ||
| 59 | + self._init_cscript(argv) | ||
| 69 | 60 | ||
| 70 | - # Set logger properties | ||
| 71 | - self._log_header() | ||
| 72 | - self._log.date(True) | ||
| 73 | - | ||
| 74 | - # Return | ||
| 75 | - return | ||
| 76 | - | ||
| 77 | - def __del__(self): | ||
| 78 | - """ | ||
| 79 | - Destructor. | ||
| 80 | - """ | ||
| 81 | # Return | 61 | # Return |
| 82 | return | 62 | return |
| 83 | 63 |
cscripts/cspull.py
| @@ -38,7 +38,7 @@ class cspull(ctools.cscript): | @@ -38,7 +38,7 @@ class cspull(ctools.cscript): | ||
| 38 | script behaves just as a regular ctool. | 38 | script behaves just as a regular ctool. |
| 39 | """ | 39 | """ |
| 40 | 40 | ||
| 41 | - # Constructors and destructors | 41 | + # Constructor |
| 42 | def __init__(self, *argv): | 42 | def __init__(self, *argv): |
| 43 | """ | 43 | """ |
| 44 | Constructor. | 44 | Constructor. |
| @@ -62,28 +62,13 @@ class cspull(ctools.cscript): | @@ -62,28 +62,13 @@ class cspull(ctools.cscript): | ||
| 62 | self._proj = "TAN" | 62 | self._proj = "TAN" |
| 63 | self._log_clients = False | 63 | self._log_clients = False |
| 64 | 64 | ||
| 65 | - # Initialise application | ||
| 66 | - if len(argv) == 0: | ||
| 67 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 68 | - elif len(argv) ==1: | ||
| 69 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 70 | - else: | ||
| 71 | - raise TypeError("Invalid number of arguments given.") | ||
| 72 | - | ||
| 73 | - # Set logger properties | ||
| 74 | - self._log_header() | ||
| 75 | - self._log.date(True) | 65 | + # Initialise application by calling the appropriate class |
| 66 | + # constructor. | ||
| 67 | + self._init_cscript(argv) | ||
| 76 | 68 | ||
| 77 | # Return | 69 | # Return |
| 78 | return | 70 | return |
| 79 | 71 | ||
| 80 | - def __del__(self): | ||
| 81 | - """ | ||
| 82 | - Destructor. | ||
| 83 | - """ | ||
| 84 | - # Return | ||
| 85 | - return | ||
| 86 | - | ||
| 87 | 72 | ||
| 88 | # Private methods | 73 | # Private methods |
| 89 | def _get_parameters(self): | 74 | def _get_parameters(self): |
cscripts/csresmap.py
| @@ -36,7 +36,7 @@ class csresmap(ctools.cscript): | @@ -36,7 +36,7 @@ class csresmap(ctools.cscript): | ||
| 36 | behaves just as a regular ctool. | 36 | behaves just as a regular ctool. |
| 37 | """ | 37 | """ |
| 38 | 38 | ||
| 39 | - # Constructors and destructors | 39 | + # Constructor |
| 40 | def __init__(self, *argv): | 40 | def __init__(self, *argv): |
| 41 | """ | 41 | """ |
| 42 | Constructor. | 42 | Constructor. |
| @@ -74,32 +74,13 @@ class csresmap(ctools.cscript): | @@ -74,32 +74,13 @@ class csresmap(ctools.cscript): | ||
| 74 | self._debug = False | 74 | self._debug = False |
| 75 | self._log_clients = False | 75 | self._log_clients = False |
| 76 | 76 | ||
| 77 | - # Initialise observation | ||
| 78 | - if len(argv) > 0 and isinstance(argv[0],gammalib.GObservations): | ||
| 79 | - self._obs = argv[0] | ||
| 80 | - argv = argv[1:] | ||
| 81 | - else: | ||
| 82 | - self._obs = gammalib.GObservations() | ||
| 83 | - | ||
| 84 | - # Initialise application | ||
| 85 | - if len(argv) == 0: | ||
| 86 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 87 | - elif len(argv) ==1: | ||
| 88 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 89 | - else: | ||
| 90 | - raise TypeError("Invalid number of arguments given.") | ||
| 91 | - | ||
| 92 | - # Set logger properties | ||
| 93 | - self._log_header() | ||
| 94 | - self._log.date(True) | 77 | + # Initialise observation container from constructor arguments. |
| 78 | + self._obs = self._set_input_obs(argv) | ||
| 95 | 79 | ||
| 96 | - # Return | ||
| 97 | - return | 80 | + # Initialise application by calling the appropriate class |
| 81 | + # constructor. | ||
| 82 | + self._init_cscript(argv) | ||
| 98 | 83 | ||
| 99 | - def __del__(self): | ||
| 100 | - """ | ||
| 101 | - Destructor. | ||
| 102 | - """ | ||
| 103 | # Return | 84 | # Return |
| 104 | return | 85 | return |
| 105 | 86 |
cscripts/cssens.py
| @@ -41,7 +41,7 @@ class cssens(ctools.cscript): | @@ -41,7 +41,7 @@ class cssens(ctools.cscript): | ||
| 41 | the likelihood difference between fitting with and without the test source. | 41 | the likelihood difference between fitting with and without the test source. |
| 42 | """ | 42 | """ |
| 43 | 43 | ||
| 44 | - # Constructors and destructors | 44 | + # Constructor |
| 45 | def __init__(self, *argv): | 45 | def __init__(self, *argv): |
| 46 | """ | 46 | """ |
| 47 | Constructor. | 47 | Constructor. |
| @@ -71,28 +71,13 @@ class cssens(ctools.cscript): | @@ -71,28 +71,13 @@ class cssens(ctools.cscript): | ||
| 71 | self._log_clients = False | 71 | self._log_clients = False |
| 72 | self._debug = False | 72 | self._debug = False |
| 73 | 73 | ||
| 74 | - # Initialise application | ||
| 75 | - if len(argv) == 0: | ||
| 76 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 77 | - elif len(argv) ==1: | ||
| 78 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 79 | - else: | ||
| 80 | - raise TypeError("Invalid number of arguments given.") | ||
| 81 | - | ||
| 82 | - # Set logger properties | ||
| 83 | - self._log_header() | ||
| 84 | - self._log.date(True) | 74 | + # Initialise application by calling the appropriate class |
| 75 | + # constructor. | ||
| 76 | + self._init_cscript(argv) | ||
| 85 | 77 | ||
| 86 | # Return | 78 | # Return |
| 87 | return | 79 | return |
| 88 | 80 | ||
| 89 | - def __del__(self): | ||
| 90 | - """ | ||
| 91 | - Destructor. | ||
| 92 | - """ | ||
| 93 | - # Return | ||
| 94 | - return | ||
| 95 | - | ||
| 96 | 81 | ||
| 97 | # Private methods | 82 | # Private methods |
| 98 | def _get_parameters(self): | 83 | def _get_parameters(self): |
cscripts/csspec.py
| @@ -60,24 +60,12 @@ class csspec(ctools.cscript): | @@ -60,24 +60,12 @@ class csspec(ctools.cscript): | ||
| 60 | self._clobber = True | 60 | self._clobber = True |
| 61 | self._debug = False | 61 | self._debug = False |
| 62 | 62 | ||
| 63 | - # Initialise observation | ||
| 64 | - if len(argv) > 0 and isinstance(argv[0],gammalib.GObservations): | ||
| 65 | - self._obs = argv[0] | ||
| 66 | - argv = argv[1:] | ||
| 67 | - else: | ||
| 68 | - self._obs = gammalib.GObservations() | ||
| 69 | - | ||
| 70 | - # Initialise application | ||
| 71 | - if len(argv) == 0: | ||
| 72 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 73 | - elif len(argv) ==1: | ||
| 74 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 75 | - else: | ||
| 76 | - raise TypeError("Invalid number of arguments given.") | 63 | + # Initialise observation container from constructor arguments. |
| 64 | + self._obs = self._set_input_obs(argv) | ||
| 77 | 65 | ||
| 78 | - # Set logger properties | ||
| 79 | - self._log_header() | ||
| 80 | - self._log.date(True) | 66 | + # Initialise application by calling the appropriate class |
| 67 | + # constructor. | ||
| 68 | + self._init_cscript(argv) | ||
| 81 | 69 | ||
| 82 | # Return | 70 | # Return |
| 83 | return | 71 | return |
cscripts/cstsdist.py
| @@ -39,7 +39,7 @@ class cstsdist(ctools.cscript): | @@ -39,7 +39,7 @@ class cstsdist(ctools.cscript): | ||
| 39 | script behaves just as a regular ctool. | 39 | script behaves just as a regular ctool. |
| 40 | """ | 40 | """ |
| 41 | 41 | ||
| 42 | - # Constructors and destructors | 42 | + # Constructor |
| 43 | def __init__(self, *argv): | 43 | def __init__(self, *argv): |
| 44 | """ | 44 | """ |
| 45 | Constructor. | 45 | Constructor. |
| @@ -61,28 +61,13 @@ class cstsdist(ctools.cscript): | @@ -61,28 +61,13 @@ class cstsdist(ctools.cscript): | ||
| 61 | self._debug = False | 61 | self._debug = False |
| 62 | self._log_clients = False | 62 | self._log_clients = False |
| 63 | 63 | ||
| 64 | - # Initialise application | ||
| 65 | - if len(argv) == 0: | ||
| 66 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 67 | - elif len(argv) ==1: | ||
| 68 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 69 | - else: | ||
| 70 | - raise TypeError("Invalid number of arguments given.") | ||
| 71 | - | ||
| 72 | - # Set logger properties | ||
| 73 | - self._log_header() | ||
| 74 | - self._log.date(True) | 64 | + # Initialise application by calling the appropriate class |
| 65 | + # constructor. | ||
| 66 | + self._init_cscript(argv) | ||
| 75 | 67 | ||
| 76 | # Return | 68 | # Return |
| 77 | return | 69 | return |
| 78 | 70 | ||
| 79 | - def __del__(self): | ||
| 80 | - """ | ||
| 81 | - Destructor. | ||
| 82 | - """ | ||
| 83 | - # Return | ||
| 84 | - return | ||
| 85 | - | ||
| 86 | 71 | ||
| 87 | # Private methods | 72 | # Private methods |
| 88 | def _get_parameters(self): | 73 | def _get_parameters(self): |
cscripts/cstsmapmerge.py
| @@ -33,7 +33,7 @@ class cstsmapmerge(ctools.cscript): | @@ -33,7 +33,7 @@ class cstsmapmerge(ctools.cscript): | ||
| 33 | Merge Test Statistic maps. | 33 | Merge Test Statistic maps. |
| 34 | """ | 34 | """ |
| 35 | 35 | ||
| 36 | - # Constructors and destructors | 36 | + # Constructor |
| 37 | def __init__(self, *argv): | 37 | def __init__(self, *argv): |
| 38 | """ | 38 | """ |
| 39 | Constructor. | 39 | Constructor. |
| @@ -53,28 +53,13 @@ class cstsmapmerge(ctools.cscript): | @@ -53,28 +53,13 @@ class cstsmapmerge(ctools.cscript): | ||
| 53 | self._overwrite = True | 53 | self._overwrite = True |
| 54 | self._delete = False | 54 | self._delete = False |
| 55 | 55 | ||
| 56 | - # Initialise application | ||
| 57 | - if len(argv) == 0: | ||
| 58 | - ctools.cscript.__init__(self, self._name, self._version) | ||
| 59 | - elif len(argv) == 1: | ||
| 60 | - ctools.cscript.__init__(self, self._name, self._version, *argv) | ||
| 61 | - else: | ||
| 62 | - raise TypeError("Invalid number of arguments given.") | ||
| 63 | - | ||
| 64 | - # Set logger properties | ||
| 65 | - self._log_header() | ||
| 66 | - self._log.date(True) | 56 | + # Initialise application by calling the appropriate class |
| 57 | + # constructor. | ||
| 58 | + self._init_cscript(argv) | ||
| 67 | 59 | ||
| 68 | # Return | 60 | # Return |
| 69 | return | 61 | return |
| 70 | 62 | ||
| 71 | - def __del__(self): | ||
| 72 | - """ | ||
| 73 | - Destructor. | ||
| 74 | - """ | ||
| 75 | - # Return | ||
| 76 | - return | ||
| 77 | - | ||
| 78 | 63 | ||
| 79 | # Private methods | 64 | # Private methods |
| 80 | def _get_parameters(self): | 65 | def _get_parameters(self): |
pyext/ctool.i
| @@ -152,7 +152,7 @@ public: | @@ -152,7 +152,7 @@ public: | ||
| 152 | 152 | ||
| 153 | 153 | ||
| 154 | /***********************************************************************//** | 154 | /***********************************************************************//** |
| 155 | - * @brief ctool base class Python extension | 155 | + * @brief ctool base class Python extensions |
| 156 | ***************************************************************************/ | 156 | ***************************************************************************/ |
| 157 | %extend ctool { | 157 | %extend ctool { |
| 158 | void _read_ahead(const bool& flag) { | 158 | void _read_ahead(const bool& flag) { |
| @@ -160,3 +160,35 @@ public: | @@ -160,3 +160,35 @@ public: | ||
| 160 | return; | 160 | return; |
| 161 | } | 161 | } |
| 162 | } | 162 | } |
| 163 | + | ||
| 164 | +/***********************************************************************//** | ||
| 165 | + * @brief cscript base class Python extensions | ||
| 166 | + ***************************************************************************/ | ||
| 167 | +%pythoncode %{ | ||
| 168 | + | ||
| 169 | +# Initialise observation container from constructor arguments. In case that | ||
| 170 | +# an observation container is provided as argument, this container will be | ||
| 171 | +# used to initialise the class. | ||
| 172 | +def _set_input_obs(self, argv): | ||
| 173 | + if len(argv) > 0 and isinstance(argv[0],gammalib.GObservations): | ||
| 174 | + obs = argv[0] | ||
| 175 | + argv = argv[1:] | ||
| 176 | + else: | ||
| 177 | + obs = gammalib.GObservations() | ||
| 178 | + return obs | ||
| 179 | +cscript._set_input_obs = _set_input_obs | ||
| 180 | + | ||
| 181 | +# Initialise application by calling the appropriate class constructor. | ||
| 182 | +def _init_cscript(self, argv): | ||
| 183 | + if len(argv) == 0: | ||
| 184 | + cscript.__init__(self, self._name, self._version) | ||
| 185 | + elif len(argv) == 1: | ||
| 186 | + cscript.__init__(self, self._name, self._version, *argv) | ||
| 187 | + else: | ||
| 188 | + raise TypeError("Invalid number of arguments given.") | ||
| 189 | + # Set logger properties | ||
| 190 | + self._log_header() | ||
| 191 | + self._log.date(True) | ||
| 192 | +cscript._init_cscript = _init_cscript | ||
| 193 | + | ||
| 194 | +%} |