LSSTApplications  20.0.0
LSSTDataManagementBasePackage
butlerCmdDocGen.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 """Accessor for sphinx documentation generator that accesses the butler
23 subcommand plugins that are provided by this package."""
24 
25 import click
26 
27 from lsst.utils import doImport
28 from .. import cmd
29 
30 
31 class ButlerCmdDocGen(click.MultiCommand):
32 
33  def list_commands(self, ctx):
34  """List the click commands provided by this package.
35 
36  Parameters
37  ----------
38  ctx : click.Context
39  The current Click context.
40 
41  Returns
42  -------
43  commands : `list` [`str`]
44  The names of the commands that can be called by the butler command.
45  """
46  return cmd.__all__
47 
48  def get_command(self, context, name):
49  """Get a click command provided by this package.
50 
51  Parameters
52  ----------
53  ctx : click.Context
54  The current Click context.
55  name : string
56  The name of the command to return.
57 
58  Returns
59  -------
60  command : click.Command
61  A Command that wraps a callable command function.
62  """
63  return doImport("lsst.obs.base.cli.cmd." + name)
64 
65 
66 @click.command(cls=ButlerCmdDocGen)
67 def cli():
68  pass
butlerCmdDocGen.cli
def cli()
Definition: butlerCmdDocGen.py:67
butlerCmdDocGen.ButlerCmdDocGen.list_commands
def list_commands(self, ctx)
Definition: butlerCmdDocGen.py:33
lsst::daf::persistence.utils.doImport
def doImport(pythonType)
Definition: utils.py:104
lsst::utils
Definition: Backtrace.h:29
butlerCmdDocGen.ButlerCmdDocGen.get_command
def get_command(self, context, name)
Definition: butlerCmdDocGen.py:48
butlerCmdDocGen.ButlerCmdDocGen
Definition: butlerCmdDocGen.py:31