- update to 0.8.9:

* Bug Fixes
    * Fixed extra slash that could print when tab completing users on Windows
    * Prevent crashes that could occur attempting to open a file in non-existent directory or with very long filename
    * Make sure pip installs version 0.8.x if you have python 2.7
    * Commands using the @with_argparser_and_unknown_args were not correctly recognized when tab completing
    * Fixed issue where completion display function was overwritten when a submenu quits
    * Fixed ``AttributeError`` on Windows when running a ``select`` command cause by **pyreadline** not implementing ``remove_history_item``
  * Bug Fixes
    * Fixed a bug with all argument decorators where the wrapped function wasn't returning a value and thus couldn't cause the cmd2 app to quit
  * Enhancements
    * Added warning about **libedit** variant of **readline** not being supported on macOS
    * Added tab-completion of alias names in value filed of **alias** command
    * Enhanced the ``py`` console in the following ways
        * Added tab completion of Python identifiers instead of **cmd2** commands
        * Separated the ``py`` console history from the **cmd2** history
    * Added support for verbose help with -v where it lists a brief summary of what each command does
    * Added support for categorizing commands into groups within the help menu
        * See the [Grouping Commands](http://cmd2.readthedocs.io/en/latest/argument_processing.html?highlight=verbose#grouping-commands) section of the docs for more info
        * See [help_categories.py](https://github.com/python-cmd2/cmd2/blob/master/examples/help_categories.py) for an example
    * Tab completion of paths now supports ~user user path expansion
    * Simplified implementation of various tab completion functions so they no longer require ``ctypes``
    * Expanded documentation of ``display_matches`` list to clarify its purpose. See cmd2.py for this documentation.
    * Adding opening quote to tab completion if any of the completion suggestions have a space.
    * Tab completion has been overhauled and now supports completion of strings with quotes and spaces.
    * Tab completion will automatically add an opening quote if a string with a space is completed.
    * Added ``delimiter_complete`` function for tab completing delimited strings
    * Added more control over tab completion behavior including the following flags. The use of these flags is documented in cmd2.py
        * ``allow_appended_space``
        * ``allow_closing_quote``

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=28
This commit is contained in:
Dirk Mueller 2018-09-05 20:19:13 +00:00 committed by Git OBS Bridge
parent 408ee37caa
commit cdaa4d1044
4 changed files with 154 additions and 7 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f518d30c641483c8d6c246afae6e4447f816f8300befc6a11c476eeb62a496e6
size 71298

3
cmd2-0.8.9.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:145cb677ebd0e3cae546ab81c30f6c25e0b08ba0f1071df854d53707ea792633
size 112543

View File

@ -1,3 +1,134 @@
-------------------------------------------------------------------
Wed Sep 5 20:07:43 UTC 2018 - dmueller@suse.com
- update to 0.8.9:
* Bug Fixes
* Fixed extra slash that could print when tab completing users on Windows
* Prevent crashes that could occur attempting to open a file in non-existent directory or with very long filename
* Make sure pip installs version 0.8.x if you have python 2.7
* Commands using the @with_argparser_and_unknown_args were not correctly recognized when tab completing
* Fixed issue where completion display function was overwritten when a submenu quits
* Fixed ``AttributeError`` on Windows when running a ``select`` command cause by **pyreadline** not implementing ``remove_history_item``
* Bug Fixes
* Fixed a bug with all argument decorators where the wrapped function wasn't returning a value and thus couldn't cause the cmd2 app to quit
* Enhancements
* Added warning about **libedit** variant of **readline** not being supported on macOS
* Added tab-completion of alias names in value filed of **alias** command
* Enhanced the ``py`` console in the following ways
* Added tab completion of Python identifiers instead of **cmd2** commands
* Separated the ``py`` console history from the **cmd2** history
* Added support for verbose help with -v where it lists a brief summary of what each command does
* Added support for categorizing commands into groups within the help menu
* See the [Grouping Commands](http://cmd2.readthedocs.io/en/latest/argument_processing.html?highlight=verbose#grouping-commands) section of the docs for more info
* See [help_categories.py](https://github.com/python-cmd2/cmd2/blob/master/examples/help_categories.py) for an example
* Tab completion of paths now supports ~user user path expansion
* Simplified implementation of various tab completion functions so they no longer require ``ctypes``
* Expanded documentation of ``display_matches`` list to clarify its purpose. See cmd2.py for this documentation.
* Adding opening quote to tab completion if any of the completion suggestions have a space.
* Tab completion has been overhauled and now supports completion of strings with quotes and spaces.
* Tab completion will automatically add an opening quote if a string with a space is completed.
* Added ``delimiter_complete`` function for tab completing delimited strings
* Added more control over tab completion behavior including the following flags. The use of these flags is documented in cmd2.py
* ``allow_appended_space``
* ``allow_closing_quote``
* Due to the tab completion changes, non-Windows platforms now depend on [wcwidth](https://pypi.python.org/pypi/wcwidth).
* An alias name can now match a command name.
* An alias can now resolve to another alias.
* **Python 2 EOL notice**
* This is the last release where new features will be added to ``cmd2`` for Python 2.7
* The 0.9.0 release of ``cmd2`` will support Python 3.4+ only
* Additional 0.8.x releases may be created to supply bug fixes for Python 2.7 up until August 31, 2018
* After August 31, 2018 not even bug fixes will be provided for Python 2.7
* Fixed conditional dependency issue in setup.py that was in 0.8.3.
* Fixed ``help`` command not calling functions for help topics
* Fixed not being able to use quoted paths when redirecting with ``<`` and ``>``
* Enhancements
* Attribute Changes (Breaks backward compatibility)
* ``exclude_from_help`` is now called ``hidden_commands`` since these commands are hidden from things other than help, including tab completion
* This list also no longer takes the function names of commands (``do_history``), but instead uses the command names themselves (``history``)
* ``excludeFromHistory`` is now called ``exclude_from_history``
* ``cmd_with_subs_completer()`` no longer takes an argument called ``base``. Adding tab completion to subcommands has been simplified to declaring it in the
subcommand parser's default settings. This easily allows arbitrary completers like path_complete to be used.
See [subcommands.py](https://github.com/python-cmd2/cmd2/blob/master/examples/subcommands.py) for an example of how to use
tab completion in subcommands. In addition, the docstring for ``cmd_with_subs_completer()`` offers more details.
* Bug Fixes
* Fixed a bug in tab-completion of command names within sub-menus
* Fixed a bug when using persistent readline history in Python 2.7
* Fixed a bug where the ``AddSubmenu`` decorator didn't work with a default value for ``shared_attributes``
* Added a check to ``ppaged()`` to only use a pager when running in a real fully functional terminal
* Enhancements
* Added [quit_on_sigint](http://cmd2.readthedocs.io/en/latest/settingchanges.html#quit-on-sigint) attribute to enable canceling current line instead of quitting when Ctrl+C is typed
* Added possibility of having readline history preservation in a SubMenu
* Added [table_display.py](https://github.com/python-cmd2/cmd2/blob/master/examples/table_display.py) example to demonstrate how to display tabular data
* Added command aliasing with ``alias`` and ``unalias`` commands
* Added the ability to load an initialization script at startup
* See [alias_startup.py](https://github.com/python-cmd2/cmd2/blob/master/examples/alias_startup.py) for an example
* Added a default SIGINT handler which terminates any open pipe subprocesses and re-raises a KeyboardInterrupt
* For macOS, will load the ``gnureadline`` module if available and ``readline`` if not
* Bug Fixes
* Fixed a bug if a non-existent **do_*** method was added to the ``exclude_from_help`` list
* Fixed a bug in a unit test which would fail if your home directory was empty on a Linux system
* Fixed outdated help text for the **edit** command
* Fixed outdated [remove_unused.py](https://github.com/python-cmd2/cmd2/blob/master/examples/remove_unused.py)
* Enhancements
* Added support for sub-menus.
* See [submenus.py](https://github.com/python-cmd2/cmd2/blob/master/examples/submenus.py) for an example of how to use it
* Added option for persistent readline history
* See [persistent_history.py](https://github.com/python-cmd2/cmd2/blob/master/examples/persistent_history.py) for an example
* See the [Searchable command history](http://cmd2.readthedocs.io/en/latest/freefeatures.html#searchable-command-history) section of the documentation for more info
* Improved PyPI packaging by including unit tests and examples in the tarball
* Improved documentation to make it more obvious that **poutput()** should be used instead of **print()**
* ``exclude_from_help`` and ``excludeFromHistory`` are now instance instead of class attributes
* Added flag and index based tab completion helper functions
* See [tab_completion.py](https://github.com/python-cmd2/cmd2/blob/master/examples/tab_completion.py)
* Added support for displaying output which won't fit on the screen via a pager using ``ppaged()``
* See [paged_output.py](https://github.com/python-cmd2/cmd2/blob/master/examples/paged_output.py)
* Attributes Removed (**can cause breaking changes**)
* ``abbrev`` - Removed support for abbreviated commands
* Good tab completion makes this unnecessary and its presence could cause harmful unintended actions
* ``case_insensitive`` - Removed support for case-insensitive command parsing
* Its presence wasn't very helpful and could cause harmful unintended actions
* Bug Fixes
* Fixed unit tests on Python 3.7 due to changes in how re.escape() behaves in Python 3.7
* Fixed a bug where unknown commands were getting saved in the history
* Enhancements
* Three new decorators for **do_*** commands to make argument parsing easier
* **with_argument_list** decorator to change argument type from str to List[str]
* **do_*** commands get a single argument which is a list of strings, as pre-parsed by shlex.split()
* **with_arparser** decorator for strict argparse-based argument parsing of command arguments
* **do_*** commands get a single argument which is the output of argparse.parse_args()
* **with_argparser_and_unknown_args** decorator for argparse-based argument parsing, but allows unknown args
* **do_*** commands get two arguments, the output of argparse.parse_known_args()
* See the [Argument Processing](http://cmd2.readthedocs.io/en/latest/argument_processing.html) section of the documentation for more information on these decorators
* Alternatively, see the [argparse_example.py](https://github.com/python-cmd2/cmd2/blob/master/examples/argparse_example.py)
and [arg_print.py](https://github.com/python-cmd2/cmd2/blob/master/examples/arg_print.py) examples
* Added support for Argparse sub-commands when using the **with_argument_parser** or **with_argparser_and_unknown_args** decorators
* See [subcommands.py](https://github.com/python-cmd2/cmd2/blob/master/examples/subcommands.py) for an example of how to use subcommands
* Tab-completion of sub-command names is automatically supported
* The **__relative_load** command is now hidden from the help menu by default
* This command is not intended to be called from the command line, only from within scripts
* The **set** command now has an additional **-a/--all** option to also display read-only settings
* The **history** command can now run, edit, and save prior commands, in addition to displaying prior commands.
* The **history** command can now automatically generate a transcript file for regression testing
* This makes creating regression tests for your ``cmd2`` application trivial
* Commands Removed
* The **cmdenvironment** has been removed and its functionality incorporated into the **-a/--all** argument to **set**
* The **show** command has been removed. Its functionality has always existing within **set** and continues to do so
* The **save** command has been removed. The capability to save commands is now part of the **history** command.
* The **run** command has been removed. The capability to run prior commands is now part of the **history** command.
* Other changes
* The **edit** command no longer allows you to edit prior commands. The capability to edit prior commands is now part of the **history** command. The **edit** command still allows you to edit arbitrary files.
* the **autorun_on_edit** setting has been removed.
* For Python 3.4 and earlier, ``cmd2`` now has an additional dependency on the ``contextlib2`` module
* Deprecations
* The old **options** decorator for optparse-based argument parsing is now *deprecated*
* The old decorator is still present for now, but will be removed in a future release
* ``cmd2`` no longer includes **optparse.make_option**, so if your app needs it import directly from optparse
-------------------------------------------------------------------
Tue Feb 13 18:33:35 UTC 2018 - dmueller@suse.com

View File

@ -18,19 +18,32 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-cmd2
Version: 0.7.9
Version: 0.8.9
Release: 0
Summary: Extra features for standard library's cmd module
License: MIT
Group: Development/Languages/Python
Url: http://packages.python.org/cmd2/
Source: https://files.pythonhosted.org/packages/source/c/cmd2/cmd2-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module contextlib2}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pyperclip}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wcwidth}
BuildRequires: python-enum34
BuildRequires: python-rpm-macros
BuildRequires: python-subprocess32
Requires: python-pyparsing >= 2.0.1
Requires: python-pyperclip
Requires: python-pyreadline
Requires: python-six
Requires: python-wcwidth
%ifpython2
Requires: python-contextlib2
Requires: python-enum34
Requires: python-subprocess32
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@ -64,9 +77,12 @@ Drop-in replacement adds several features for command-prompt tools:
%install
%python_install
%check
%python_exec setup.py test
%files %{python_files}
%defattr(-,root,root,-)
%doc README.md LICENSE
%license LICENSE
%doc README.md
%{python_sitelib}/*
%changelog