lsst.obs.base
20.0.0-20-g8c202bc
python
lsst
obs
base
cli
opt
instrument.py
Go to the documentation of this file.
1
# This file is part of obs_base.
2
#
3
# Developed for the LSST Data Management System.
4
# This product includes software developed by the LSST Project
5
# (http://www.lsst.org).
6
# See the COPYRIGHT file at the top-level directory of this distribution
7
# for details of code ownership.
8
#
9
# This program is free software: you can redistribute it and/or modify
10
# it under the terms of the GNU General Public License as published by
11
# the Free Software Foundation, either version 3 of the License, or
12
# (at your option) any later version.
13
#
14
# This program is distributed in the hope that it will be useful,
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
18
#
19
# You should have received a copy of the GNU General Public License
20
# along with this program. If not, see <http://www.gnu.org/licenses/>.
21
22
23
import
click
24
25
from
lsst.daf.butler.cli.utils
import
addArgumentHelp, MWArgument, MWOption, ParameterType, split_commas
26
27
28
class
instrument_parameter
:
# noqa: N801
29
30
defaultHelp =
"The name or fully-qualified class name of an instrument."
31
optionFlags = (
"-i"
,
"--instrument"
)
32
optionKey =
"instrument"
33
34
def
__init__
(self, help=defaultHelp, metavar=None, multiple=False, parameterType=ParameterType.OPTION,
35
required=False):
36
self.
callback
= split_commas
if
multiple
else
None
37
self.
help
= help
38
self.
metavar
= metavar
39
self.
multiple
= multiple
40
self.
parameterType
= parameterType
41
self.
required
= required
42
43
def
__call__
(self, f):
44
if
self.
parameterType
== ParameterType.OPTION:
45
return
click.option(*self.
optionFlags
, cls=MWOption,
46
callback=self.
callback
,
47
help=self.
help
,
48
metavar=self.
metavar
,
49
multiple=self.
multiple
,
50
required=self.
required
)(f)
51
if
self.
parameterType
== ParameterType.ARGUMENT:
52
f.__doc__ = addArgumentHelp(f.__doc__, self.
help
)
53
return
click.argument(
"instrument"
, cls=MWArgument,
54
callback=self.
callback
,
55
nargs=-1
if
self.
multiple
else
1,
56
required=self.
required
)(f)
opt.instrument.instrument_parameter.help
help
Definition:
instrument.py:36
opt.instrument.instrument_parameter.metavar
metavar
Definition:
instrument.py:37
opt.instrument.instrument_parameter.callback
callback
Definition:
instrument.py:35
opt.instrument.instrument_parameter.parameterType
parameterType
Definition:
instrument.py:39
opt.instrument.instrument_parameter.__init__
def __init__(self, help=defaultHelp, metavar=None, multiple=False, parameterType=ParameterType.OPTION, required=False)
Definition:
instrument.py:34
opt.instrument.instrument_parameter.__call__
def __call__(self, f)
Definition:
instrument.py:43
opt.instrument.instrument_parameter.required
required
Definition:
instrument.py:40
opt.instrument.instrument_parameter.optionFlags
tuple optionFlags
Definition:
instrument.py:31
opt.instrument.instrument_parameter.multiple
multiple
Definition:
instrument.py:38
opt.instrument.instrument_parameter
Definition:
instrument.py:28
Generated on Thu Jul 16 2020 01:31:04 for lsst.obs.base by
1.8.18