Skip to content

Commit 77a36b1

Browse files
committed
Added on_registered() callback to CommandSet
1 parent 36b0b75 commit 77a36b1

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 1.3.9 (September 01, 2020)
2+
* Enhancements
3+
* Added `on_registered()` callback to `CommandSet` class. This is called by `cmd2.Cmd` after a
4+
`CommandSet` is registered and all its commands have been added to the CLI.
5+
16
## 1.3.8 (August 28, 2020)
27
* Bug Fixes
38
* Fixed issue where subcommand added with `@as_subcommand_to` decorator did not display help

cmd2/cmd2.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,7 @@ def register_command_set(self, cmdset: CommandSet) -> None:
503503
self._installed_command_sets.append(cmdset)
504504

505505
self._register_subcommands(cmdset)
506+
cmdset.on_registered()
506507
except Exception:
507508
for attrib in installed_attributes:
508509
delattr(self, attrib)

cmd2/command_definition.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class CommandSet(object):
5353
def __init__(self):
5454
self._cmd = None # type: Optional[cmd2.Cmd]
5555

56-
def on_register(self, cmd):
56+
def on_register(self, cmd) -> None:
5757
"""
5858
Called by cmd2.Cmd when a CommandSet is registered. Subclasses can override this
5959
to perform an initialization requiring access to the Cmd object.
@@ -66,7 +66,14 @@ def on_register(self, cmd):
6666
else:
6767
raise CommandSetRegistrationError('This CommandSet has already been registered')
6868

69-
def on_unregister(self):
69+
def on_registered(self) -> None:
70+
"""
71+
Called by cmd2.Cmd after a CommandSet is registered and all its commands have been added
72+
to the CLI. Subclasses can override this to perform custom steps.
73+
"""
74+
pass
75+
76+
def on_unregister(self) -> None:
7077
"""
7178
Called by ``cmd2.Cmd`` when a CommandSet is unregistered and removed.
7279

0 commit comments

Comments
 (0)