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
4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 | |
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.