cmd2.command_definition
cmd2.command_definition
Supports the definition of commands in separate classes to be composed into cmd2.Cmd
CommandSetType
module-attribute
CommandSet
Bases: object
Base class for defining sets of commands to load in cmd2.
with_default_category
can be used to apply a default category to all commands in the CommandSet.
do_
, help_
, and complete_
functions differ only in that self is the CommandSet instead of the cmd2 app
Source code in cmd2/command_definition.py
on_register
Called by cmd2.Cmd as the first step to registering a CommandSet. The commands defined in this class have not been added to the CLI object at this point. Subclasses can override this to perform any initialization requiring access to the Cmd object (e.g. configure commands and their parsers based on CLI state data).
PARAMETER | DESCRIPTION |
---|---|
cmd
|
The cmd2 main application
TYPE:
|
RAISES | DESCRIPTION |
---|---|
CommandSetRegistrationError
|
if CommandSet is already registered. |
Source code in cmd2/command_definition.py
on_registered
Called by cmd2.Cmd after a CommandSet is registered and all its commands have been added to the CLI. Subclasses can override this to perform custom steps related to the newly added commands (e.g. setting them to a disabled state).
Source code in cmd2/command_definition.py
on_unregister
Called by cmd2.Cmd
as the first step to unregistering a CommandSet. Subclasses can override this to
perform any cleanup steps which require their commands being registered in the CLI.
on_unregistered
Called by cmd2.Cmd
after a CommandSet has been unregistered and all its commands removed from the CLI.
Subclasses can override this to perform remaining cleanup steps.
Source code in cmd2/command_definition.py
add_settable
Convenience method to add a settable parameter to the CommandSet
PARAMETER | DESCRIPTION |
---|---|
settable
|
Settable object being added
TYPE:
|
Source code in cmd2/command_definition.py
remove_settable
Convenience method for removing a settable parameter from the CommandSet
PARAMETER | DESCRIPTION |
---|---|
name
|
name of the settable being removed
TYPE:
|
RAISES | DESCRIPTION |
---|---|
KeyError
|
if the Settable matches this name |
Source code in cmd2/command_definition.py
sigint_handler
Handle a SIGINT that occurred for a command in this CommandSet.
RETURNS | DESCRIPTION |
---|---|
bool
|
True if this completes the interrupt handling and no KeyboardInterrupt will be raised. False to raise a KeyboardInterrupt. |
Source code in cmd2/command_definition.py
with_default_category
Decorator that applies a category to all do_*
command methods in a class that do not already
have a category specified.
CommandSets that are decorated by this with heritable
set to True (default) will set a class attribute that is
inherited by all subclasses unless overridden. All commands of this CommandSet and all subclasses of this CommandSet
that do not declare an explicit category will be placed in this category. Subclasses may use this decorator to
override the default category.
If heritable
is set to False, then only the commands declared locally to this CommandSet will be placed in the
specified category. Dynamically created commands and commands declared in sub-classes will not receive this
category.
PARAMETER | DESCRIPTION |
---|---|
category
|
category to put all uncategorized commands in
TYPE:
|
heritable
|
Flag whether this default category should apply to sub-classes. Defaults to True
TYPE:
|
RETURNS | DESCRIPTION |
---|---|
Callable[[CommandSetType], CommandSetType]
|
decorator function |