Miscellaneous Features
Timer
Turn the timer setting on, and cmd2 will show the wall time it takes for each command to execute.
Exiting
Like many shell applications, cmd2 applications can be exited by pressing Ctrl-D on an empty
line, or by executing the quit command.
select
Presents numbered options to user, as bash select.
app.select is called from within a method (not by the user directly; it is app.select, not
app.do_select).
cmd2.Cmd.select
Present a menu to the user.
Modeled after the bash shell's SELECT. Returns the item chosen.
Argument opts can be:
| a single string -> will be split into one-word options | a list of strings -> will be offered as options | a list of tuples -> interpreted as (value, text), so that the return value can differ from the text advertised to the user
Source code in cmd2/cmd2.py
4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 | |
def do_eat(self, arg):
sauce = self.select("sweet salty", "Sauce? ")
result = "{food} with {sauce} sauce, yum!"
result = result.format(food=arg, sauce=sauce)
self.stdout.write(result + "\n")
See the do_eat method in the
read_input.py file for a
example of how to use `select.
Disabling Commands
cmd2 supports disabling commands during runtime. This is useful if certain commands should only be
available when the application is in a specific state. When a command is disabled, it will not show
up in the help menu or tab complete. If a user tries to run the command, a command-specific message
supplied by the developer will be printed. The following functions support this feature.
- enable_command : Enable an individual command
- enable_category : Enable an entire category of commands
- disable_command : Disable an individual command and set the message that will print when this command is run or help is called on it while disabled
- disable_category : Disable an entire category of commands and set the message that will print when anything in this category is run or help is called on it while disabled
See the definitions of these functions for descriptions of their arguments.
See the do_enable_commands() and do_disable_commands() functions in the
help_categories.py
example for a demonstration.