cmd2.command_definition

Supports the definition of commands in separate classes to be composed into cmd2.Cmd

class cmd2.command_definition.CommandSet

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

on_register(cmd) → None

Called by cmd2.Cmd as the first step to registering a CommandSet. The commands defined in this class have not be 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).

Parameters:cmd (cmd2.Cmd) – The cmd2 main application
on_registered() → None

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).

on_unregister() → None

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() → None

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.

cmd2.command_definition.with_default_category(category: str)

Decorator that applies a category to all do_* command methods in a class that do not already have a category specified.

Parameters:category – category to put all uncategorized commands in
Returns:decorator function