python-cmd2/python-cmd2.spec

92 lines
2.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-cmd2
#
- update to 0.7.9: * Bug Fixes * Fixed a couple broken examples * Enhancements * Improved documentation for modifying shortcuts (command aliases) * Made ``pyreadline`` a dependency on Windows to ensure tab-completion works * Other changes * Abandoned official support for Python 3.3. It should still work, just don't have an easy way to test it anymore. * Bug Fixes * Fixed ``poutput()`` so it can print an integer zero and other **falsy** things * Fixed a bug which was causing autodoc to fail for building docs on Readthedocs * Fixed bug due to ``pyperclip`` dependency radically changing its project structure in latest version * Enhancements * Improved documentation for user-settable environment parameters * Improved documentation for overriding the default supported comment styles * Added ``runcmds_plus_hooks()`` method to run multiple commands w/o a cmdloop * Bug Fixes * Added workaround for bug which occurs in Python 2.7 on Linux when ``pygtk`` is installed * ``pfeedback()`` now honors feedback_to_output setting and won't redirect when it is ``False`` * For ``edit`` command, both **editor** and **filename** can now have spaces in the name/path * Fixed a bug which occurred when stdin was a pipe instead of a tty due to input redirection * Enhancements * ``feedback_to_output`` now defaults to ``False`` so info like command timing won't redirect * Transcript regular expressions now have predictable, tested, and documented behavior * This makes a breaking change to the format and expectations of transcript testing * The prior behavior removed whitespace before making the comparison, now whitespace must match exactly * Prior version did not allow regexes with whitespace, new version allows any regex * Improved display for ``load`` command and input redirection when **echo** is ``True`` * Bug Fixes * Case-sensitive command parsing was completely broken and has been fixed OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=26
2018-02-13 18:35:44 +00:00
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
%define skip_python2 1
Name: python-cmd2
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
Version: 0.9.4
Release: 0
Summary: Extra features for standard library's cmd module
License: MIT
Group: Development/Languages/Python
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
Url: https://github.com/python-cmd2/cmd2
- update to 0.7.5: * `case_insensitive` is no longer a runtime-settable parameter, but it was still listed as such * Fixed a recursive loop bug when abbreviated commands are enabled and it could get stuck in the editor forever * Fixed argparse_example.py and pirate.py examples and transcript_regex.txt transcript * Fixed a bug in a unit test which occurred under unusual circumstances * Organized all attributes used to configure the ParserManager into a single location * Set the default value of `abbrev` to `False` (which controls whether or not abbreviated commands are allowed) * Improved implementation of `load` to use command queue instead of nested inner loop * Fixed a couple bugs in interacting with pastebuffer/clipboard on macOS and Linux * Fixed a couple bugs in edit and save commands if called when history is empty * Ability to pipe ``cmd2`` command output to a shell command is now more reliable, particularly on Windows * Fixed a bug in ``pyscript`` command on Windows related to ``\`` being interpreted as an escape * Ensure that path and shell command tab-completion results are alphabetically sorted * Removed feature for load command to load scripts from URLS * Removed presence of a default file name and default file extension * ``load`` command has better error checking and reporting * Clipboard copy and paste functionality is now handled by the **pyperclip** module * ``shell`` command now supports redirection and piping of output * Added a lot of unit tests * Removed pause command * Added a dependency on the **pyperclip** module * Fixed a bug in displaying a span of history items when only an end index is supplied * Fixed a bug which caused transcript test failures to display twice * Added the ability to exclude commands from the help menu (**eof** included by default) * Redundant **list** command removed and features merged into **history** command * Added **pyscript** command which supports tab-completion and running Python scripts with arguments * Improved tab-completion of file system paths, command names, and shell commands * Changed default value of USE_ARG_LIST to True - this affects the beavhior of all **@options** commands * Refactored code to encapsulate most of the pyparsing logic into a ParserManager class * Added a MANIFEST.ini file to make sure a few extra files get included in the PyPI source distribution OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=23
2017-08-07 07:56:10 +00:00
Source: https://files.pythonhosted.org/packages/source/c/cmd2/cmd2-%{version}.tar.gz
BuildRequires: %{python_module setuptools}
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
BuildRequires: %{python_module setuptools_scm}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
# 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
- 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
2018-09-05 20:19:13 +00:00
Requires: python-wcwidth
BuildArch: noarch
%python_subpackages
%description
Enhancements for standard library's cmd module.
Drop-in replacement adds several features for command-prompt tools:
* Searchable command history (commands: "hi", "li", "run")
* Load commands from file, save to file, edit commands in file
* Multi-line commands
* Case-insensitive commands
* Special-character shortcut commands (beyond cmd's "@" and "!")
* Settable environment parameters
* Parsing commands with flags
* > (filename), >> (filename) redirect output to file
* < (filename) gets input from file
* bare >, >>, < redirect to/from paste buffer
* accepts abbreviated commands when unambiguous
* `py` enters interactive Python console
* test apps against sample session transcript (see example/example.py)
%prep
%setup -q -n cmd2-%{version}
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
# 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
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
%python_expand %fdupes %{buildroot}%{$python_sitelib}
- 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
2018-09-05 20:19:13 +00:00
%check
%python_exec setup.py test
%files %{python_files}
- 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
2018-09-05 20:19:13 +00:00
%license LICENSE
Accepting request 637090 from home:TheBlackCat:branches:devel:languages:python - 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. OBS-URL: https://build.opensuse.org/request/show/637090 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=31
2018-09-21 17:49:41 +00:00
%doc CHANGELOG.md CODEOWNERS README.md
%{python_sitelib}/*
%changelog