Cmd2

Latest version: v2.4.3

Safety actively analyzes 630450 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 15

0.9.6

* Bug Fixes
* Fixed bug introduced in 0.9.5 caused by backing up and restoring `self.prompt` in `pseudo_raw_input`.
As part of this fix, continuation prompts will not be redrawn with `async_update_prompt` or `async_alert`.
* Enhancements
* All platforms now depend on [wcwidth](https://pypi.python.org/pypi/wcwidth) to assist with asynchronous alerts.
* Macros now accept extra arguments when called. These will be tacked onto the resolved command.
* All cmd2 commands run via `py` now go through `onecmd_plus_hooks`.

0.9.5

* Bug Fixes
* Fixed bug where ``get_all_commands`` could return non-callable attributes
* Fixed bug where **alias** command was dropping quotes around arguments
* Fixed bug where running help on argparse commands didn't work if they didn't support -h
* Fixed transcript testing bug where last command in transcript has no expected output
* Fixed bugs with how AutoCompleter and ArgparseFunctor handle argparse
arguments with nargs=argparse.REMAINDER. Tab completion now correctly
matches how argparse will parse the values. Command strings generated by
ArgparseFunctor should now be compliant with how argparse expects
REMAINDER arguments to be ordered.
* Fixed bugs with how AutoCompleter handles flag prefixes. It is no
longer hard-coded to use '-' and will check against the prefix_chars in
the argparse object. Also, single-character tokens that happen to be a
prefix char are not treated as flags by argparse and AutoCompleter now
matches that behavior.
* Fixed bug where AutoCompleter was not distinguishing between a negative number and a flag
* Fixed bug where AutoCompleter did not handle -- the same way argparse does (all args after -- are non-options)
* Enhancements
* Added ``exit_code`` attribute of ``cmd2.Cmd`` class
* Enables applications to return a non-zero exit code when exiting from ``cmdloop``
* ``ACHelpFormatter`` now inherits from ``argparse.RawTextHelpFormatter`` to make it easier
for formatting help/description text
* Aliases are now sorted alphabetically
* The **set** command now tab completes settable parameter names
* Added ``async_alert``, ``async_update_prompt``, and ``set_window_title`` functions
* These allow you to provide feedback to the user in an asychronous fashion, meaning alerts can
display when the user is still entering text at the prompt. See [async_printing.py](https://github.com/python-cmd2/cmd2/blob/master/examples/async_printing.py)
for an example.
* Cross-platform colored output support
* ``colorama`` gets initialized properly in ``Cmd.__init()``
* The ``Cmd.colors`` setting is no longer platform dependent and now has three values:
* Terminal (default) - output methods do not strip any ANSI escape sequences when output is a terminal, but
if the output is a pipe or a file the escape sequences are stripped
* Always - output methods **never** strip ANSI escape sequences, regardless of the output destination
* Never - output methods strip all ANSI escape sequences
* Added ``macro`` command to create macros, which are similar to aliases, but can take arguments when called
* All cmd2 command functions have been converted to use argparse.
* Renamed argparse_example.py to decorator_example.py to help clarify its intent
* Deprecations
* Deprecated the built-in ``cmd2`` support for colors including ``Cmd.colorize()`` and ``Cmd._colorcodes``
* Deletions (potentially breaking changes)
* The ``preparse``, ``postparsing_precmd``, and ``postparsing_postcmd`` methods *deprecated* in the previous release
have been deleted
* The new application lifecycle hook system allows for registration of callbacks to be called at various points
in the lifecycle and is more powerful and flexible than the previous system
* ``alias`` is now a command with subcommands to create, list, and delete aliases. Therefore its syntax
has changed. All current alias commands in startup scripts or transcripts will break with this release.
* `unalias` was deleted since ``alias delete`` replaced it

0.9.4

* Bug Fixes
* Fixed bug where ``preparse`` was not getting called
* Fixed bug in parsing of multiline commands where matching quote is on another line
* Enhancements
* Improved implementation of lifecycle hooks to support a plugin
framework, see ``docs/hooks.rst`` for details.
* New dependency on ``attrs`` third party module
* Added ``matches_sorted`` member to support custom sorting of tab completion matches
* Added [tab_autocomp_dynamic.py](https://github.com/python-cmd2/cmd2/blob/master/examples/tab_autocomp_dynamic.py) example
* Demonstrates updating the argparse object during init instead of during class construction
* Deprecations
* Deprecated the following hook methods, see ``hooks.rst`` for full details:
* ``cmd2.Cmd.preparse()`` - equivalent functionality available
via ``cmd2.Cmd.register_postparsing_hook()``
* ``cmd2.Cmd.postparsing_precmd()`` - equivalent functionality available
via ``cmd2.Cmd.register_postparsing_hook()``
* ``cmd2.Cmd.postparsing_postcmd()`` - equivalent functionality available
via ``cmd2.Cmd.register_postcmd_hook()``

0.9.3

* Bug Fixes
* Fixed bug when StatementParser ``__init__()`` was called with ``terminators`` equal to ``None``
* Fixed bug when ``Cmd.onecmd()`` was called with a raw ``str``
* Enhancements
* Added ``--clear`` flag to ``history`` command that clears both the command and readline history.
* Deletions
* The ``CmdResult`` helper class which was *deprecated* in the previous release has now been deleted
* It has been replaced by the improved ``CommandResult`` class

0.9.2

* Bug Fixes
* Fixed issue where piping and redirecting did not work correctly with paths that had spaces
* Enhancements
* Added ability to print a header above tab completion suggestions using `completion_header` member
* Added ``pager`` and ``pager_chop`` attributes to the ``cmd2.Cmd`` class
* ``pager`` defaults to **less -RXF** on POSIX and **more** on Windows
* ``pager_chop`` defaults to **less -SRXF** on POSIX and **more** on Windows
* Added ``chop`` argument to ``cmd2.Cmd.ppaged()`` method for displaying output using a pager
* If ``chop`` is ``False``, then ``self.pager`` is used as the pager
* Otherwise ``self.pager_chop`` is used as the pager
* Greatly improved the [table_display.py](https://github.com/python-cmd2/cmd2/blob/master/examples/table_display.py) example
* Now uses the new [tableformatter](https://github.com/python-tableformatter/tableformatter) module which looks better than ``tabulate``
* Deprecations
* The ``CmdResult`` helper class is *deprecated* and replaced by the improved ``CommandResult`` class
* ``CommandResult`` has the following attributes: **stdout**, **stderr**, and **data**
* ``CmdResult`` had attributes of: **out**, **err**, **war**
* ``CmdResult`` will be deleted in the next release

0.9.1

* Bug Fixes
* fix packaging error for 0.8.x versions (yes we had to deploy a new version
of the 0.9.x series to fix a packaging error with the 0.8.x version)

Page 10 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.