Welcome to enhterm’s documentation!¶
enhterm provides a class that extends cmd.Cmd and which is also intended to be inherited by a user class to create a shell.
Functionality provided by this package is split among mixins, allowing you to construct your own base class if EnhTerm is not suitable.
As with cmd.Cmd, the class constructed as described above can be used like so:
from enhterm import EnhTerm class ExampleShell(EnhTerm): pass if __name__ == '__main__': ExampleShell().cmdloop()
pip install enhterm
You can also download/clone the source, in which case you have to:
git clone https://github.com/pyl1b/enhterm.git python setup.py install
To contribute a patch clone the repo, create a new branch, install in develop mode:
python setup.py develop
What is included¶
Each of the elements below are implemented in a distinct “mixin” class, which mean that you can create your own combination using EnhTerm class as a template.
Allows python strings to be executed as if the user typed the input at the prompt. This is the base for executing commands in a file.
exit command that terminates command loop.
help command which prints information about
the use of the command while accounting for custom commands
Allows changing logging verbosity by issuing commands like
set loglevel debug.
Can record, remove, list and execute previously recorded commands.
Does not expose any commands but provides the class with a standardized way of issuing messages distinct from the logging mechanism.
Allows executing multiple commands from a string or from a file.
Commands are usually identified by using the first word the user types.
This mixin allows for a more natural way of issuing commands like
new macro instead of
macro new. Other mixins then add subcommands