Accepting request 637091 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/637091
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cmd2?expand=0&rev=18
This commit is contained in:
Dominique Leuenberger 2018-09-26 14:12:13 +00:00 committed by Git OBS Bridge
commit feb5e1b69f
4 changed files with 125 additions and 22 deletions

View File

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

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

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

View File

@ -1,3 +1,102 @@
-------------------------------------------------------------------
Thu Sep 20 20:17:41 UTC 2018 - Todd R <toddrme2178@gmail.com>
- Update to version 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()``
- Update to version 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
- Update to version 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
- Update to version 0.8.8
+ Bug Fixes
* Prevent crashes that could occur attempting to open a file in non-existent directory or with very long filename
+ Enhancements
* `display_matches` is no longer restricted to delimited strings
- Update to version 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)
- Update to version 0.9.0
+ Bug Fixes
* If self.default_to_shell is true, then redirection and piping are now properly passed to the shell. Previously it was truncated.
* Submenus now call all hooks, it used to just call precmd and postcmd.
+ Enhancements
* Automatic completion of ``argparse`` arguments via ``cmd2.argparse_completer.AutoCompleter``
* See the [tab_autocompletion.py](https://github.com/python-cmd2/cmd2/blob/master/examples/tab_autocompletion.py) example for a demonstration of how to use this feature
* ``cmd2`` no longer depends on the ``six`` module
* ``cmd2`` is now a multi-file Python package instead of a single-file module
* New pyscript approach that provides a pythonic interface to commands in the cmd2 application.
* Switch command parsing from pyparsing to custom code which utilizes shlex.
* The object passed to do_* methods has changed. It no longer is the pyparsing object, it's a new Statement object, which is a subclass of ``str``. The statement object has many attributes which give you access to various components of the parsed input. If you were using anything but the string in your do_* methods, this change will require you to update your code.
* ``commentGrammers`` is no longer supported or available. Comments are C-style or python style.
* Input redirection no longer supported. Use the load command instead.
* ``multilineCommand`` attribute is ``now multiline_command``
* ``identchars`` is now ignored. The standardlibrary cmd uses those characters to split the first "word" of the input, but cmd2 hasn't used those for a while, and the new parsing logic parses on whitespace, which has the added benefit of full unicode support, unlike cmd or prior versions of cmd2.
* ``set_posix_shlex`` function and ``POSIX_SHLEX`` variable have been removed. Parsing behavior is now always the more forgiving ``posix=false``.
* ``set_strip_quotes`` function and ``STRIP_QUOTES_FOR_NON_POSIX`` have been removed. Quotes are stripped from arguments when presented as a list (a la ``sys.argv``), and present when arguments are presented as a string (like the string passed to do_*).
+ Changes
* ``strip_ansi()`` and ``strip_quotes()`` functions have moved to new utils module
* Several constants moved to new constants module
* Submenu support has been moved to a new [cmd2-submenu](https://github.com/python-cmd2/cmd2-submenu) plugin. If you use submenus, you will need to update your dependencies and modify your imports.
+ Deletions (potentially breaking changes)
* Deleted all ``optparse`` code which had previously been deprecated in release 0.8.0
* The ``options`` decorator no longer exists
* All ``cmd2`` code should be ported to use the new ``argparse``-based decorators
* 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)
* Deleted ``cmd_with_subs_completer``, ``get_subcommands``, and ``get_subcommand_completer``
* Replaced by default AutoCompleter implementation for all commands using argparse
* Deleted support for old method of calling application commands with ``cmd()`` and ``self``
* ``cmd2.redirector`` is no longer supported. Output redirection can only be done with '>' or '>>'
* Deleted ``postparse()`` hook since it was redundant with ``postparsing_precmd``
+ Python 2 no longer supported
* ``cmd2`` now supports Python 3.4+
+ Known Issues
* Some developers have noted very slow performance when importing the ``cmd2`` module. The issue
it intermittant, and investigation of the root cause is ongoing.
- Python2 is no longer supported upstream,
so don't build it.
-------------------------------------------------------------------
Wed Sep 5 20:07:43 UTC 2018 - dmueller@suse.com

View File

@ -17,33 +17,32 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-cmd2
Version: 0.8.9
Version: 0.9.4
Release: 0
Summary: Extra features for standard library's cmd module
License: MIT
Group: Development/Languages/Python
Url: http://packages.python.org/cmd2/
Url: https://github.com/python-cmd2/cmd2
Source: https://files.pythonhosted.org/packages/source/c/cmd2/cmd2-%{version}.tar.gz
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_module setuptools_scm}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildRequires: python-subprocess32
Requires: python-pyparsing >= 2.0.1
Requires: python-pyperclip
Requires: python-six
# SECTION Test requirements
BuildRequires: %{python_module attrs}
BuildRequires: %{python_module colorama}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pyperclip >= 1.5.27}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module wcwidth}
# /SECTION
Requires: python-attrs
Requires: python-colorama
Requires: python-pyperclip >= 1.5.27
Requires: python-wcwidth
%ifpython2
Requires: python-contextlib2
Requires: python-enum34
Requires: python-subprocess32
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%python_subpackages
@ -69,19 +68,24 @@ Drop-in replacement adds several features for command-prompt tools:
%prep
%setup -q -n cmd2-%{version}
# Fix non-executable-script
sed -i -e '/^#!\//, 1d' cmd2/cmd2.py
# Fix spurious-executable-perm
chmod a-x README.md
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%python_exec setup.py test
%files %{python_files}
%license LICENSE
%doc README.md
%doc CHANGELOG.md CODEOWNERS README.md
%{python_sitelib}/*
%changelog