The tl.cli distribution


Deutsche Fassung

Various command line interface utilities.

This package requires Python 2, at least 2.5.

tl.cmd: an enhanced command shell

tl.cmd.Cmd is a command shell based on Python's cmd.Cmd that adds some generic usability features, some of them only of interest to developers.

  • Exceptions are caught instead of aborting the command loop. The traceback is stored for subsequent introspection by the postmortem debugger. The debugger is run by the postmortem command.
  • The python command runs a Python shell to access the command interpreter directly.
  • End-of-file sent by the terminal quits the command loop.
  • Empty input lines are ignored instead of repeating the previous command.
  • Commands may be abbreviated as long as abbreviations are unambiguous.
  • When using tab completion, the cursor is positioned more conveniently.
  • Online help for commands is generated from the docstrings of the do_* methods that implement them where no help_* methods exist.

tl.cli.edit: text editing

tl.cli.edit.edit(text, editor=None, file_encoding=None):
 Runs the user's favourite text editor (or vi) on a temp file containing the text string, then reads it back in and returns the edited content.

tl.cli.page: paging through text

tl.cli.page.page(text, pager=None):
 Runs the user's favourite pager (or more) on a text string or stream which is sent to the pager's standard input.
tl.cli.page.page_file(path, pager=None):
 Runs the user's favourite pager (or more) on a file whose path is passed to the pager as its only argument.

Contact

This package is written by Thomas Lotze. Please contact the author at <thomas@thomas-lotze.de> to provide feedback, suggestions, or contributions.

See also <http://www.thomas-lotze.de/en/software/>.


2015/10/02