Cli
- class glotaran.cli.main.Cli(*args, **kwargs)[source]
Bases:
click.core.Group
Attributes Summary
the default for the
Context.allow_extra_args
flag.the default for the
Context.allow_interspersed_args
flag.If set, this is used by the group's
command()
decorator as the defaultCommand
class.If set, this is used by the group's
group()
decorator as the defaultGroup
class.the default for the
Context.ignore_unknown_options
flag.Methods Summary
Registers another
Command
with this group.Returns all the pieces that go into the usage line and returns it as a list of strings.
Behaves the same as click.Group.command() except capture a priority for listing command names in help.
Extra format methods for multi methods that adds all the commands after the options.
Writes the epilog into the formatter if it exists.
Writes the help into the formatter if it exists.
Writes the help text to the formatter if it exists.
Writes all the options into the formatter if they exist.
Writes the usage line into the formatter.
Given a context and a command name, this returns a
Command
object if it exists or returns None.Formats the help into a string and returns it.
Returns the help option object.
Returns the names for the help option.
Gets short help for the command or makes it by shortening the long help string.
Formats the usage line into a string and returns it.
A shortcut decorator for declaring and attaching a group to the group.
Given a context, this invokes the attached callback (if it exists) in the right way.
Returns a list of subcommand names in the order they should appear.
reorder the list of commands when listing the help
This is the way to invoke a script with all the bells and whistles as a command line application.
This function when given an info name and arguments will kick off the parsing and create a new
Context
.Creates the underlying option parser for this command.
Given a context and a list of arguments this creates the parser and parses the arguments, then modifies the context as necessary.
Adds a result callback to the command.
Return a list of completions for the incomplete value.
Gather information that could be useful for a tool generating user-facing documentation.
Methods Documentation
- add_command(cmd: click.core.Command, name: Optional[str] = None) None
Registers another
Command
with this group. If the name is not provided, the name of the command is used.
- allow_extra_args = True
the default for the
Context.allow_extra_args
flag.
- allow_interspersed_args = False
the default for the
Context.allow_interspersed_args
flag.
- callback
the callback to execute when the command fires. This might be None in which case nothing happens.
- collect_usage_pieces(ctx: click.core.Context) List[str]
Returns all the pieces that go into the usage line and returns it as a list of strings.
- command(*args, **kwargs)[source]
Behaves the same as click.Group.command() except capture a priority for listing command names in help.
- command_class: Optional[Type[click.core.Command]] = None
If set, this is used by the group’s
command()
decorator as the defaultCommand
class. This is useful to make all subcommands use a custom command class.New in version 8.0.
- context_class
alias of
click.core.Context
- format_commands(ctx: click.core.Context, formatter: click.formatting.HelpFormatter) None
Extra format methods for multi methods that adds all the commands after the options.
- format_epilog(ctx: click.core.Context, formatter: click.formatting.HelpFormatter) None
Writes the epilog into the formatter if it exists.
- format_help(ctx: click.core.Context, formatter: click.formatting.HelpFormatter) None
Writes the help into the formatter if it exists.
This is a low-level method called by
get_help()
.This calls the following methods:
- format_help_text(ctx: click.core.Context, formatter: click.formatting.HelpFormatter) None
Writes the help text to the formatter if it exists.
- format_options(ctx: click.core.Context, formatter: click.formatting.HelpFormatter) None
Writes all the options into the formatter if they exist.
- format_usage(ctx: click.core.Context, formatter: click.formatting.HelpFormatter) None
Writes the usage line into the formatter.
This is a low-level method called by
get_usage()
.
- get_command(ctx: click.core.Context, cmd_name: str) Optional[click.core.Command]
Given a context and a command name, this returns a
Command
object if it exists or returns None.
- get_help(ctx)[source]
Formats the help into a string and returns it.
Calls
format_help()
internally.
- get_help_option(ctx: click.core.Context) Optional[click.core.Option]
Returns the help option object.
- get_params(ctx: click.core.Context) List[click.core.Parameter]
- get_short_help_str(limit: int = 45) str
Gets short help for the command or makes it by shortening the long help string.
- get_usage(ctx: click.core.Context) str
Formats the usage line into a string and returns it.
Calls
format_usage()
internally.
- group(*args: Any, **kwargs: Any) Callable[[Callable[[...], Any]], click.core.Group]
A shortcut decorator for declaring and attaching a group to the group. This takes the same arguments as
group()
and immediately registers the created group with this group by callingadd_command()
.To customize the group class used, set the
group_class
attribute.Changed in version 8.0: Added the
group_class
attribute.
- group_class: Optional[Union[Type[Group], Type[type]]] = None
If set, this is used by the group’s
group()
decorator as the defaultGroup
class. This is useful to make all subgroups use a custom group class.If set to the special value
type
(literallygroup_class = type
), this group’s class will be used as the default class. This makes a custom group class continue to make custom groups.New in version 8.0.
- ignore_unknown_options = False
the default for the
Context.ignore_unknown_options
flag.
- invoke(ctx: click.core.Context) Any
Given a context, this invokes the attached callback (if it exists) in the right way.
- list_commands(ctx: click.core.Context) List[str]
Returns a list of subcommand names in the order they should appear.
- main(args: Optional[Sequence[str]] = None, prog_name: Optional[str] = None, complete_var: Optional[str] = None, standalone_mode: bool = True, windows_expand_args: bool = True, **extra: Any) Any
This is the way to invoke a script with all the bells and whistles as a command line application. This will always terminate the application after a call. If this is not wanted,
SystemExit
needs to be caught.This method is also available by directly calling the instance of a
Command
.- Parameters
args – the arguments that should be used for parsing. If not provided,
sys.argv[1:]
is used.prog_name – the program name that should be used. By default the program name is constructed by taking the file name from
sys.argv[0]
.complete_var – the environment variable that controls the bash completion support. The default is
"_<prog_name>_COMPLETE"
with prog_name in uppercase.standalone_mode – the default behavior is to invoke the script in standalone mode. Click will then handle exceptions and convert them into error messages and the function will never return but shut down the interpreter. If this is set to False they will be propagated to the caller and the return value of this function is the return value of
invoke()
.windows_expand_args – Expand glob patterns, user dir, and env vars in command line args on Windows.
extra – extra keyword arguments are forwarded to the context constructor. See
Context
for more information.
Changed in version 8.0.1: Added the
windows_expand_args
parameter to allow disabling command line arg expansion on Windows.Changed in version 8.0: When taking arguments from
sys.argv
on Windows, glob patterns, user dir, and env vars are expanded.Changed in version 3.0: Added the
standalone_mode
parameter.
- make_context(info_name: Optional[str], args: List[str], parent: Optional[click.core.Context] = None, **extra: Any) click.core.Context
This function when given an info name and arguments will kick off the parsing and create a new
Context
. It does not invoke the actual command callback though.To quickly customize the context class used without overriding this method, set the
context_class
attribute.- Parameters
info_name – the info name for this invocation. Generally this is the most descriptive name for the script or command. For the toplevel script it’s usually the name of the script, for commands below it it’s the name of the command.
args – the arguments to parse as list of strings.
parent – the parent context if available.
extra – extra keyword arguments forwarded to the context constructor.
Changed in version 8.0: Added the
context_class
attribute.
- make_parser(ctx: click.core.Context) click.parser.OptionParser
Creates the underlying option parser for this command.
- name
the name the command thinks it has. Upon registering a command on a
Group
the group will default the command name with this information. You should instead use theContext
'sinfo_name
attribute.
- params: t.List['Parameter']
the list of parameters for this command in the order they should show up in the help page and execute. Eager parameters will automatically be handled before non eager ones.
- parse_args(ctx: click.core.Context, args: List[str]) List[str]
Given a context and a list of arguments this creates the parser and parses the arguments, then modifies the context as necessary. This is automatically invoked by
make_context()
.
- resolve_command(ctx: click.core.Context, args: List[str]) Tuple[Optional[str], Optional[click.core.Command], List[str]]
- result_callback(replace: bool = False) Callable[[click.core.F], click.core.F]
Adds a result callback to the command. By default if a result callback is already registered this will chain them but this can be disabled with the replace parameter. The result callback is invoked with the return value of the subcommand (or the list of return values from all subcommands if chaining is enabled) as well as the parameters as they would be passed to the main callback.
Example:
@click.group() @click.option('-i', '--input', default=23) def cli(input): return 42 @cli.result_callback() def process_result(result, input): return result + input
- Parameters
replace – if set to True an already existing result callback will be removed.
Changed in version 8.0: Renamed from
resultcallback
.New in version 3.0.
- shell_complete(ctx: click.core.Context, incomplete: str) List[CompletionItem]
Return a list of completions for the incomplete value. Looks at the names of options, subcommands, and chained multi-commands.
- Parameters
ctx – Invocation context for this command.
incomplete – Value being completed. May be empty.
New in version 8.0.
- to_info_dict(ctx: click.core.Context) Dict[str, Any]
Gather information that could be useful for a tool generating user-facing documentation. This traverses the entire structure below this command.
Use
click.Context.to_info_dict()
to traverse the entire CLI structure.- Parameters
ctx – A
Context
representing this command.
New in version 8.0.