python-cmd2/python-cmd2.spec

101 lines
3.3 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-cmd2
#
- update to 0.9.10: * Fixed unit test that hangs on Windows * Fixed bug where the ``set`` command was not tab completing from the current ``settable`` dictionary. * Changed edit command to use do_shell() instead of calling os.system() * Fixed issue with echoing strings in StdSim. Because they were being sent to a binary buffer, line buffering was being ignored. * Made quit() and exit() functions available to scripts run with pyscript. This allows those scripts to exit back to the console's prompt instead of exiting the whole application. * Fixed bug when user chooses a zero or negative index when calling ``Cmd.select()`` * Restored behavior where ``cmd_echo`` always starts as False in a py script. This was broken in 0.9.5. * **cmdloop** now only attempts to register a custom signal handler for SIGINT if running in the main thread * commands run as a result of ``default_to_shell`` being **True** now run via ``do_shell()`` and are saved to history. * Added more tab completion to pyscript command. * Deleted ``Cmd.colorize()`` and ``Cmd._colorcodes`` which were deprecated in 0.9.5 * Replaced ``dir_exe_only`` and ``dir_only`` flags in ``path_complete`` with optional ``path_filter`` function that is used to filter paths out of completion results. * ``perror()`` no longer prepends "ERROR: " to the error message being printed * Fixed bug introduced in 0.9.5 caused by backing up and restoring `self.prompt` in `pseudo_raw_input`. As part of this fix, continuation prompts will not be redrawn with `async_update_prompt` or `async_alert`. * All platforms now depend on [wcwidth](https://pypi.python.org/pypi/wcwidth) to assist with asynchronous alerts. * Macros now accept extra arguments when called. These will be tacked onto the resolved command. * All cmd2 commands run via `py` now go through `onecmd_plus_hooks`. * Fixed bug where ``get_all_commands`` could return non-callable attributes * Fixed bug where **alias** command was dropping quotes around arguments * Fixed bug where running help on argparse commands didn't work if they didn't support -h * Fixed transcript testing bug where last command in transcript has no expected output * Fixed bugs with how AutoCompleter and ArgparseFunctor handle argparse arguments with nargs=argparse.REMAINDER. Tab completion now correctly matches how argparse will parse the values. Command strings generated by OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=41
2019-02-28 12:07:14 +00:00
# Copyright (c) 2019 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 https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-cmd2
# Do not update beyond what is supported by cliff!
Version: 0.8.9
Release: 0
Summary: Extra features for standard library's cmd module
License: MIT
Group: Development/Languages/Python
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 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
# SECTION Test requirements
BuildRequires: %{python_module attrs >= 16.3.0}
BuildRequires: %{python_module colorama >= 0.3.7}
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pyperclip >= 1.6}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module wcwidth >= 0.1.7}
# Required by tests.
BuildRequires: vim
%if 0%{?suse_version} <= 1315
BuildRequires: %{python_module contextlib2}
BuildRequires: %{python_module typing}
Requires: python-enum34
Requires: python-subprocess32
%endif
# /SECTION
Requires: python-pyparsing >= 2.0.1
Requires: python-pyperclip
Requires: python-six
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}
%build
%python_build
%install
%python_install
%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
%pytest
- 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
%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
%doc CHANGELOG.md README.md
%{python3_sitelib}/*
%changelog