From 77a36b1b20b32ddca608421b8831938ada46c06c Mon Sep 17 00:00:00 2001 From: Kevin Van Brunt Date: Tue, 1 Sep 2020 16:49:34 -0400 Subject: Added on_registered() callback to CommandSet --- cmd2/command_definition.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'cmd2/command_definition.py') diff --git a/cmd2/command_definition.py b/cmd2/command_definition.py index 27a044bc..3c663054 100644 --- a/cmd2/command_definition.py +++ b/cmd2/command_definition.py @@ -53,7 +53,7 @@ class CommandSet(object): def __init__(self): self._cmd = None # type: Optional[cmd2.Cmd] - def on_register(self, cmd): + def on_register(self, cmd) -> None: """ Called by cmd2.Cmd when a CommandSet is registered. Subclasses can override this to perform an initialization requiring access to the Cmd object. @@ -66,7 +66,14 @@ class CommandSet(object): else: raise CommandSetRegistrationError('This CommandSet has already been registered') - def on_unregister(self): + def on_registered(self) -> 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. + """ + pass + + def on_unregister(self) -> None: """ Called by ``cmd2.Cmd`` when a CommandSet is unregistered and removed. -- cgit v1.2.1 From 68c7750765ba9a4035775a5f46f8b37339935135 Mon Sep 17 00:00:00 2001 From: Kevin Van Brunt Date: Thu, 3 Sep 2020 11:14:15 -0400 Subject: Added CommandSet.on_unregistered() --- cmd2/command_definition.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'cmd2/command_definition.py') diff --git a/cmd2/command_definition.py b/cmd2/command_definition.py index 3c663054..64adaada 100644 --- a/cmd2/command_definition.py +++ b/cmd2/command_definition.py @@ -55,8 +55,9 @@ class CommandSet(object): def on_register(self, cmd) -> None: """ - Called by cmd2.Cmd when a CommandSet is registered. Subclasses can override this - to perform an initialization requiring access to the Cmd object. + 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). :param cmd: The cmd2 main application :type cmd: cmd2.Cmd @@ -68,16 +69,22 @@ class CommandSet(object): def on_registered(self) -> 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. + 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). """ pass def on_unregister(self) -> None: """ - Called by ``cmd2.Cmd`` when a CommandSet is unregistered and removed. + 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. + """ + pass - :param cmd: - :type cmd: cmd2.Cmd + def on_unregistered(self) -> 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. """ self._cmd = None -- cgit v1.2.1