- Update to version 2.5.7
* Fixed issue where argument parsers for overridden commands were not being created.. * Fixed issue where Cmd.ppaged() was not writing to the passed in destination. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cmd2?expand=0&rev=104
This commit is contained in:
commit
0b61a039c6
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
3
cmd2-2.4.3.tar.gz
Normal file
3
cmd2-2.4.3.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:71873c11f72bd19e2b1db578214716f0d4f7c8fa250093c601265a9a717dee52
|
||||||
|
size 678661
|
3
cmd2-2.5.2.tar.gz
Normal file
3
cmd2-2.5.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9b25cb0f3b01b4192dc13073847747ed4843b7106a2291adb2c4f47c93bfc30e
|
||||||
|
size 724019
|
3
cmd2-2.5.4.tar.gz
Normal file
3
cmd2-2.5.4.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:895df845c0a47bc31568d4312fc8b617bb23f6ead3b6ea0d1507bdfdd1cd539d
|
||||||
|
size 723971
|
3
cmd2-2.5.6.tar.gz
Normal file
3
cmd2-2.5.6.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:00b27eaf29169f7aac2fcdf57af879156b7790b50803d24ccfc01a247653de97
|
||||||
|
size 724291
|
3
cmd2-2.5.7.tar.gz
Normal file
3
cmd2-2.5.7.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0c5ed3a04869ca628abf76f8a603d57c8631c5fd4db10cf8a48d5cd7856ba110
|
||||||
|
size 725759
|
17
cmd2-no-coverage-tests.patch
Normal file
17
cmd2-no-coverage-tests.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/pyproject.toml b/pyproject.toml
|
||||||
|
index bfd8d44..f88999e 100644
|
||||||
|
--- a/pyproject.toml
|
||||||
|
+++ b/pyproject.toml
|
||||||
|
@@ -54,12 +54,6 @@ warn_unused_ignores = false
|
||||||
|
testpaths = [
|
||||||
|
"tests",
|
||||||
|
]
|
||||||
|
-addopts = [
|
||||||
|
- "--cov=cmd2",
|
||||||
|
- "--cov-append",
|
||||||
|
- "--cov-report=term",
|
||||||
|
- "--cov-report=html",
|
||||||
|
-]
|
||||||
|
|
||||||
|
[tool.ruff]
|
||||||
|
# Exclude a variety of commonly ignored directories.
|
940
python-cmd2.changes
Normal file
940
python-cmd2.changes
Normal file
@ -0,0 +1,940 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Nov 23 11:09:05 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 2.5.7
|
||||||
|
* Fixed issue where argument parsers for overridden commands
|
||||||
|
were not being created..
|
||||||
|
* Fixed issue where Cmd.ppaged() was not writing to the passed
|
||||||
|
in destination.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 14 19:27:34 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 2.5.6
|
||||||
|
* Fixed type hint for with_default_category decorator which
|
||||||
|
caused type checkers to mistype a subclass of CommandSet as a
|
||||||
|
plain CommandSet.
|
||||||
|
- Update to version 2.5.5
|
||||||
|
* Fixed type hints for passing a class method to with_argparser
|
||||||
|
and as_subcommand_to.
|
||||||
|
* Fixed issue where set command was not always printing a
|
||||||
|
settable's current value.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 7 16:32:16 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to versino 2.5.4
|
||||||
|
* Fixed ZeroDivisionError in async_alert() when
|
||||||
|
shutil.get_terminal_size().columns is 0.
|
||||||
|
- Update to version 2.5.3
|
||||||
|
* Changed CommandSet._cmd to a read-only property which never
|
||||||
|
returns None because it is meant to be called after the
|
||||||
|
CommandSet is registered. This addresses type checker errors
|
||||||
|
that occurred if CommandSet._cmd wasn't cast or checked if
|
||||||
|
None before use.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Nov 3 19:58:40 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 2.5.2
|
||||||
|
* Fixed default pytest execution when not using cmd2's custom
|
||||||
|
invoke command via inv pytest.
|
||||||
|
- Update to version 2.5.1
|
||||||
|
* Fixed readline bug when using ipy command with gnureadline
|
||||||
|
and Python 3.13.
|
||||||
|
- Add patch:
|
||||||
|
* cmd2-no-coverage-tests.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 24 18:43:27 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 2.5.0
|
||||||
|
Breaking Change
|
||||||
|
* cmd2 2.5 supports Python 3.8+
|
||||||
|
(removed support for Python 3.6 and 3.7).
|
||||||
|
Bug Fixes
|
||||||
|
* Fixed issue where persistent history file was not saved upon
|
||||||
|
SIGHUP and SIGTERM signals.
|
||||||
|
* Multiline commands are no longer fragmented in up-arrow history
|
||||||
|
* Fixed bug where async_alert() overwrites readline's incremental
|
||||||
|
and non-incremental search prompts.
|
||||||
|
+ This fix introduces behavior where an updated prompt won't
|
||||||
|
display after an aborted search.
|
||||||
|
+ until a user presses Enter. See async_printing.py
|
||||||
|
+ example for how to handle this case using
|
||||||
|
Cmd.need_prompt_refresh() and Cmd.async_refresh_prompt().
|
||||||
|
Enhancements
|
||||||
|
* Removed dependency on attrs and replaced with dataclasses.
|
||||||
|
* add allow_clipboard initialization parameter and attribute to
|
||||||
|
disable ability to.
|
||||||
|
* add output to the operating system clipboard.
|
||||||
|
* Updated unit tests to be Python 3.13 compliant.
|
||||||
|
* Fall back to bz2 compression of history file when lzma is not
|
||||||
|
installed..
|
||||||
|
* Added settable called scripts_add_to_history which determines
|
||||||
|
whether scripts and pyscripts
|
||||||
|
* add commands to history.
|
||||||
|
Deletions (potentially breaking changes)
|
||||||
|
* Removed apply_style from Cmd.pwarning().
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jan 28 14:33:56 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.4.3:
|
||||||
|
* Fixed ValueError caused when passing `Cmd.columnize()` strings wider than
|
||||||
|
`display_width`.
|
||||||
|
* Renamed `utils.str_to_bool()` -> `utils.to_bool()`.
|
||||||
|
* Enhanced `utils.to_bool()` so that it accepts and converts `bool`, `int`,
|
||||||
|
and `float` in addition to `str`.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 18 15:38:40 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 2.4.2
|
||||||
|
* Updated argparse decorator to remove annotations when the
|
||||||
|
docstring is used for a command's help text.
|
||||||
|
* Updated unit test to be Python 3.11 compliant.
|
||||||
|
- Clean specfile, remove coverage
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jun 4 15:00:50 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.4.1:
|
||||||
|
* Fixed value for `ansi.Bg.YELLOW`.
|
||||||
|
* Fixed unit tests for `ansi.allow_style`.
|
||||||
|
* `async_alert()` raises a `RuntimeError` if called from the main thread.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Mar 8 07:40:29 UTC 2022 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 2.4.0
|
||||||
|
Bug Fixes
|
||||||
|
Fixed issue in ansi.async_alert_str() which would raise IndexError if prompt was blank.
|
||||||
|
Fixed issue where tab completion was quoting argparse flags in some cases.
|
||||||
|
Enhancements
|
||||||
|
Added broader exception handling when enabling clipboard functionality via pyperclip.
|
||||||
|
Added PassThroughException to __init__.py imports.
|
||||||
|
cmd2 now uses pyreadline3 when running any version of Python on Windows
|
||||||
|
Improved memory usage in certain use cases of tables (e.g. nested colored tables)
|
||||||
|
Deletions (potentially breaking changes)
|
||||||
|
Deleted cmd2.fg and cmd2.bg which were deprecated in 2.3.0. Use cmd2.Fg and cmd2.Bg instead.
|
||||||
|
- python-mock is actually not required for build
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Dec 11 22:08:57 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.3.3:
|
||||||
|
* Added clearer exception handling to `BorderedTable` and `SimpleTable`.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 6 18:04:09 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.3.2:
|
||||||
|
* Fixed issue where a `ns_provider` could be passed `None`
|
||||||
|
instead of its correct `cmd2.Cmd` or `CommandSet` value.
|
||||||
|
* Fixed issue introduced in 2.3.0 with `AlternatingTable`, `BorderedTable`, and `SimpleTable` that caused
|
||||||
|
header alignment settings to be overridden by data alignment settings.
|
||||||
|
* `CompletionItems` now saves the original object from which it creates a string.
|
||||||
|
* Using `CompletionItems` as argparse choices is fully supported.
|
||||||
|
* `ArgparseCompleter` now does the following if a list of `CompletionItems`
|
||||||
|
was created with numerical types:
|
||||||
|
* Fixed `AttributeError` in `rl_get_prompt()` when prompt is `None`.
|
||||||
|
* Fixed bug where using choices on a Settable didn't verify that a valid choice had been entered.
|
||||||
|
* Fixed bug introduced in cmd2 2.0.0 in which `select()` converts return values to strings.
|
||||||
|
* Added settings to Column class which prevent a table from overriding existing styles in header
|
||||||
|
and/or data text. This allows for things like nesting an AlternatingTable in another AlternatingTable.
|
||||||
|
* AlternatingTable no longer automatically applies background color to borders. This was done to improve
|
||||||
|
appearance since the background color extended beyond the borders of the table.
|
||||||
|
* Added ability to colorize all aspects of `AlternatingTable`, `BorderedTable`, and `SimpleTable`.
|
||||||
|
* Added support for 8-bit/256-colors with the `cmd2.EightBitFg` and `cmd2.EightBitBg` classes.
|
||||||
|
* Added support for 24-bit/RGB colors with the `cmd2.RgbFg` and `cmd2.RgbBg` classes.
|
||||||
|
* Removed dependency on colorama.
|
||||||
|
* Changed type of `ansi.allow_style` from a string to an `ansi.AllowStyle` Enum class.
|
||||||
|
* To support the color upgrade, all cmd2 colors now inherit from either `ansi.FgColor` or `ansi.BgColor`.
|
||||||
|
Therefore, `ansi.style()` no longer accepts colors as strings.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Oct 16 21:48:02 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.2.0:
|
||||||
|
* Fixed extra space appended to each alias by "alias list" command
|
||||||
|
* New function `set_default_ap_completer_type()`
|
||||||
|
* Added `ArgumentParser.get_ap_completer_type()` and
|
||||||
|
`ArgumentParser.set_ap_completer_type()`.
|
||||||
|
* Added `ap_completer_type` keyword arg to `Cmd2ArgumentParser.__init__()`
|
||||||
|
which saves a call to `set_ap_completer_type()`. This keyword will also
|
||||||
|
work with `add_parser()` when creating subcommands if the base
|
||||||
|
command's parser is a `Cmd2ArgumentParser`.
|
||||||
|
* New function `register_argparse_argument_parameter()`
|
||||||
|
* Using `SimpleTable` in the output for the following commands
|
||||||
|
* Tab completion of `CompletionItems` now includes divider row
|
||||||
|
* Removed `--verbose` flag from set command since descriptions always show now.
|
||||||
|
* All cmd2 built-in commands now populate `self.last_result`.
|
||||||
|
* Argparse tab completer will complete remaining flag names if there are no
|
||||||
|
more positionals to complete.
|
||||||
|
* Updated `async_alert()` to account for `self.prompt` not matching Readline's
|
||||||
|
current prompt.
|
||||||
|
* Deleted ``set_choices_provider()`` and ``set_completer()`` which were
|
||||||
|
deprecated in 2.1.2
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 16 19:57:26 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 2.1.2:
|
||||||
|
* Added the following accessor methods for cmd2-specific attributes to the `argparse.Action` class
|
||||||
|
* `get_choices_callable()`
|
||||||
|
* `set_choices_provider()`
|
||||||
|
* `set_completer()`
|
||||||
|
* `get_descriptive_header()`
|
||||||
|
* `set_descriptive_header()`
|
||||||
|
* `get_nargs_range()`
|
||||||
|
* `set_nargs_range()`
|
||||||
|
* `get_suppress_tab_hint()`
|
||||||
|
* `set_suppress_tab_hint()`
|
||||||
|
* Now that `set_choices_provider()` and `set_completer()` have been added as methods to the
|
||||||
|
`argparse.Action` class, the standalone functions of the same name will be removed in version
|
||||||
|
2.2.0. To update to the new convention, do the following:
|
||||||
|
* Change `set_choices_provider(action, provider)` to `action.set_choices_provider(provider)`
|
||||||
|
* Change `set_completer(action, completer)` to `action.set_completer(completer)`
|
||||||
|
* Fixed handling of argparse's default options group name which was changed in Python 3.10
|
||||||
|
* Restored `plugins` and `tests_isolated` directories to tarball published to PyPI for `cmd2` release
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 14 15:58:07 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Udpate to version 2.1.0
|
||||||
|
Enhancements
|
||||||
|
* Converted persistent history files from pickle to compressed
|
||||||
|
JSON.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 7 08:09:29 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 2.0.1
|
||||||
|
Bug Fixes
|
||||||
|
* Exclude plugins and tests_isolated directories from tarball
|
||||||
|
published to PyPI for cmd2 release
|
||||||
|
- Update to version 2.0.0
|
||||||
|
Bug Fixes
|
||||||
|
* Fixed issue where history indexes could get repeated
|
||||||
|
* Fixed issue where TableCreator was tossing blank last line
|
||||||
|
* Corrected help text for alias command
|
||||||
|
Breaking Changes
|
||||||
|
* cmd2 2.0 supports Python 3.6+ (removed support for Python 3.5)
|
||||||
|
* Argparse Completion / Settables
|
||||||
|
+ Replaced choices_function / choices_method with
|
||||||
|
choices_provider.
|
||||||
|
+ Replaced completer_function / completer_method with completer.
|
||||||
|
+ ArgparseCompleter now always passes cmd2.Cmd or CommandSet
|
||||||
|
instance as the first positional
|
||||||
|
+ argument to choices_provider and completer functions.
|
||||||
|
* Moved basic_complete from utils into cmd2.Cmd class.
|
||||||
|
* Moved CompletionError to exceptions.py
|
||||||
|
* Namespace.__statement__ has been removed.
|
||||||
|
Use Namespace.cmd2_statement.get() instead.
|
||||||
|
* Removed --silent flag from alias/macro create since startup
|
||||||
|
scripts can be run silently.
|
||||||
|
* Removed --with_silent flag from alias/macro list since startup
|
||||||
|
scripts can be run silently.
|
||||||
|
* Removed with_argparser_and_unknown_args since it was deprecated
|
||||||
|
in 1.3.0.
|
||||||
|
* Renamed silent_startup_script to silence_startup_script for
|
||||||
|
clarity.
|
||||||
|
* Replaced cmd2.Cmd.completion_header with
|
||||||
|
cmd2.Cmd.formatted_completions.
|
||||||
|
* Settables now have new initialization parameters. It is now a
|
||||||
|
required parameter to supply the reference to the object that
|
||||||
|
holds the settable attribute. cmd2.Cmd.settables is no longer a
|
||||||
|
public dict attribute - it is now a property that aggregates
|
||||||
|
all Settables across all registered CommandSets.
|
||||||
|
* Failed transcript testing now sets self.exit_code to 1 instead
|
||||||
|
of -1.
|
||||||
|
* Renamed use_ipython keyword parameter of cmd2.Cmd.__init__() to
|
||||||
|
include_ipy.
|
||||||
|
* ipy command is only enabled if include_py parameter is True.
|
||||||
|
* Removed ability to run Python commands from the command line
|
||||||
|
with py. Now py takes no arguments and just opens an
|
||||||
|
interactive Python shell.
|
||||||
|
* Changed default behavior of runcmds_plus_hooks() to not stop
|
||||||
|
when Ctrl-C is pressed and instead run the next command in its
|
||||||
|
list.
|
||||||
|
* Removed cmd2.Cmd.quit_on_sigint flag, which when True, quit
|
||||||
|
the application when Ctrl-C was pressed at the prompt.
|
||||||
|
* The history bug fix resulted in structure changes to the
|
||||||
|
classes in cmd2.history. Therefore, persistent history files
|
||||||
|
created with versions older than 2.0.0 are not compatible.
|
||||||
|
Enhancements
|
||||||
|
* Added support for custom tab completion and up-arrow input
|
||||||
|
history to cmd2.Cmd2.read_input.
|
||||||
|
* Added cmd2.exceptions.PassThroughException to raise unhandled
|
||||||
|
command exceptions instead of printing them.
|
||||||
|
* Added support for ANSI styles and newlines in tab completion
|
||||||
|
results using cmd2.Cmd.formatted_completions.
|
||||||
|
* cmd2 provides this capability automatically if you return
|
||||||
|
argparse completion matches as CompletionItems.
|
||||||
|
* Settables enhancements:
|
||||||
|
+ Settables may be optionally scoped to a CommandSet.
|
||||||
|
+ Settables added to CommandSets will appear when a CommandSet
|
||||||
|
is registered and disappear when a CommandSet is
|
||||||
|
unregistered. Optionally, scoped Settables may have a
|
||||||
|
prepended prefix.
|
||||||
|
+ Settables now allow changes to be applied to any arbitrary
|
||||||
|
object attribute. It no longer needs to match an
|
||||||
|
+ attribute added to the cmd2 instance itself.
|
||||||
|
+ Raising SystemExit or calling sys.exit() in a command or hook
|
||||||
|
function will set self.exit_code to the exit code used in
|
||||||
|
those calls. It will also result in the command loop stopping.
|
||||||
|
+ ipy command now includes all of self.py_locals in the
|
||||||
|
IPython environment
|
||||||
|
+ Added include_py keyword parameter to cmd2.Cmd.__init__().
|
||||||
|
If False, then the py command will not be available. Defaults
|
||||||
|
to False. run_pyscript is not affected by this parameter.
|
||||||
|
+ Made the amount of space between columns in a SimpleTable
|
||||||
|
configurable On POSIX systems, shell commands and processes
|
||||||
|
being piped to are now run in the user's preferred shell
|
||||||
|
instead of /bin/sh. The preferred shell is obtained by
|
||||||
|
reading the SHELL environment variable. If that doesn't
|
||||||
|
exist or is empty, then /bin/sh is used.
|
||||||
|
+ Changed cmd2.Cmd._run_editor() to the public method
|
||||||
|
cmd2.Cmd.run_editor()
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Apr 25 13:46:11 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||||
|
|
||||||
|
- Update to version 1.5.0
|
||||||
|
* Fixed bug where setting always_show_hint=True did not show a
|
||||||
|
hint when completing Settables.
|
||||||
|
* Fixed bug in editor detection logic on Linux systems that do
|
||||||
|
not have which.
|
||||||
|
* Fixed bug in table creator where column headers with tabs
|
||||||
|
would result in an incorrect width calculation.
|
||||||
|
* Fixed FileNotFoundError which occurred when running history
|
||||||
|
--clear and no history file existed.
|
||||||
|
* Added silent_startup_script option to cmd2.Cmd.__init__().
|
||||||
|
If True, then the startup script's output will be suppressed.
|
||||||
|
Anything written to stderr will still display.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 3 03:11:35 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Use correct sitelib macro in files section for multiple flavors
|
||||||
|
gh#openSUSE/python-rpm-macros#66
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 26 09:24:47 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 1.4.0:
|
||||||
|
* Fixed tab completion crash on Windows
|
||||||
|
* Changed how multiline doc string help is formatted to match style of other help messages
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 9 18:05:38 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 1.3.8:
|
||||||
|
* a few hundred changes, see included CHANGELOG.md for details
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 4 12:37:58 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Do not restrict pytest4 as it works quite fine with pytest5
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 27 13:47:06 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- go back to 0.8.9, cliff (which is the only user) is not compatible
|
||||||
|
with >= 0.9.0 atm
|
||||||
|
- Same commit like december, november and october last year.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 3 11:34:58 CET 2020 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.9.22:
|
||||||
|
- Fixed bug where a redefined ansi.style_error was not being
|
||||||
|
used in all cmd2 files
|
||||||
|
- Enabled line buffering when redirecting output to a file
|
||||||
|
- Added align_left(), align_center(), and align_right() to
|
||||||
|
utils.py. All 3 of these functions support ANSI escape
|
||||||
|
sequences and characters with display widths greater than 1.
|
||||||
|
They wrap align_text() which is also in utils.py.
|
||||||
|
- Fixed bug where pipe processes were not being stopped by Ctrl-C
|
||||||
|
- Added exception handling to account for non-standard Python
|
||||||
|
environments in which readline is not loaded dynamically from
|
||||||
|
a shared library file
|
||||||
|
- Added read_input() function that is used to read from stdin.
|
||||||
|
Unlike the Python built-in input(), it also has an argument
|
||||||
|
to disable tab completion while input is being entered.
|
||||||
|
- Added capability to override the argument parser class used
|
||||||
|
by cmd2 built-in commands. See override_parser.py example for
|
||||||
|
more details.
|
||||||
|
- Added end argument to pfeedback() to be consistent with the
|
||||||
|
other print functions like poutput().
|
||||||
|
- Added apply_style to pwarning().
|
||||||
|
- For consistency between all the print functions:
|
||||||
|
- Made end and chop keyword-only arguments of ppaged()
|
||||||
|
- end is always added to message in ppaged()
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 22 10:46:57 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Fix up dependencies and everything after last update to 0.9.20
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 14 15:18:49 CET 2019 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.9.20:
|
||||||
|
- the list of changes is too long, complete changelog is in
|
||||||
|
CHANGELOG.md included in this package.
|
||||||
|
- Package is python3-only now.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 23 07:35:49 UTC 2019 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- go back to 0.8.9, cliff (which is the only user) is not compatible
|
||||||
|
with >= 0.9.0 atm
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 13 10:57:37 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.9.16:
|
||||||
|
* Fixed inconsistent parsing/tab completion behavio
|
||||||
|
* Create directory for the persistent history file if it does not already exist
|
||||||
|
* Aliases and macros can no longer have the same name as a command
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 1 11:29:12 UTC 2019 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- fix pyperclip version in BuildRequires
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 1 08:29:40 UTC 2019 - pgajdos@suse.com
|
||||||
|
|
||||||
|
- version update to 0.9.15
|
||||||
|
* too long list, see CHANGELOG.md
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 29 21:16:21 CEST 2019 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- fix previous commit
|
||||||
|
- Update to 0.9.12:
|
||||||
|
- Bug Fixes
|
||||||
|
- Fixed a bug in how redirection and piping worked inside
|
||||||
|
py or pyscript commands
|
||||||
|
- Fixed bug in async_alert where it didn't account for
|
||||||
|
prompts that contained newline characters
|
||||||
|
- Fixed path completion case when CWD is just a slash.
|
||||||
|
Relative path matches were incorrectly prepended with
|
||||||
|
a slash.
|
||||||
|
- Enhancements
|
||||||
|
- Added ability to include command name placeholders in
|
||||||
|
the message printed when trying to run a disabled
|
||||||
|
command.
|
||||||
|
- Added instance attributes to customize error messages
|
||||||
|
without having to override methods. Theses messages can
|
||||||
|
also be colored.
|
||||||
|
- The with_argparser decorators now add the Statement
|
||||||
|
object created when parsing the command line to the
|
||||||
|
argparse.Namespace object they pass to the do_*
|
||||||
|
methods. It is stored in an attribute called
|
||||||
|
__statement__.
|
||||||
|
- This can be useful if a command function needs to know
|
||||||
|
the command line for things like logging.
|
||||||
|
- Added a -t option to the load command for automatically
|
||||||
|
generating a transcript based on a script file
|
||||||
|
- When in a pyscript, the stdout and stderr streams of
|
||||||
|
shell commands and processes being piped to are now
|
||||||
|
captured and included in the CommandResult structure.
|
||||||
|
- Potentially breaking changes
|
||||||
|
- The following commands now write to stderr instead of
|
||||||
|
stdout when printing an error. This will make catching
|
||||||
|
errors easier in pyscript.
|
||||||
|
- Removed *** from beginning of error messages printed by
|
||||||
|
do_help() and default()
|
||||||
|
- Significantly refactored cmd.Cmd class so that all
|
||||||
|
class attributes got converted to instance attributes,
|
||||||
|
also: self.pipe_proc is now called
|
||||||
|
self.cur_pipe_proc_reader and is a ProcReader class.
|
||||||
|
- Shell commands and commands being piped to while in
|
||||||
|
a pyscript will function as if their output is going to
|
||||||
|
a pipe and not a tty. This was necessary to be able to
|
||||||
|
capture their output.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 15 06:38:20 UTC 2019 - Dirk Mueller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- fix build for SLE12 and older
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 9 07:34:57 UTC 2019 - Thomas Bechtold <tbechtold@suse.com>
|
||||||
|
|
||||||
|
- Fix Requires for older python3 versions
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 15 10:31:09 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Add vim to depends as it is used in tests as an editor
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 14 19:04:12 UTC 2019 - Matěj Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Add vim to BR
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 14 14:59:18 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.9.11:
|
||||||
|
* too many changes to enumerate, see CHANGELOG.md
|
||||||
|
- Really run tests
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 28 11:43:56 UTC 2019 - Thomas Bechtold <tbechtold@suse.com>
|
||||||
|
|
||||||
|
- 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
|
||||||
|
ArgparseFunctor should now be compliant with how argparse expects
|
||||||
|
REMAINDER arguments to be ordered.
|
||||||
|
* Fixed bugs with how AutoCompleter handles flag prefixes. It is no
|
||||||
|
longer hard-coded to use '-' and will check against the prefix_chars in
|
||||||
|
the argparse object. Also, single-character tokens that happen to be a
|
||||||
|
prefix char are not treated as flags by argparse and AutoCompleter now
|
||||||
|
matches that behavior.
|
||||||
|
* Fixed bug where AutoCompleter was not distinguishing between a negative number and a flag
|
||||||
|
* Fixed bug where AutoCompleter did not handle -- the same way argparse does (all args after -- are non-options)
|
||||||
|
* Added ``exit_code`` attribute of ``cmd2.Cmd`` class
|
||||||
|
* Enables applications to return a non-zero exit code when exiting from ``cmdloop``
|
||||||
|
* ``ACHelpFormatter`` now inherits from ``argparse.RawTextHelpFormatter`` to make it easier
|
||||||
|
for formatting help/description text
|
||||||
|
* Aliases are now sorted alphabetically
|
||||||
|
* The **set** command now tab-completes settable parameter names
|
||||||
|
* Added ``async_alert``, ``async_update_prompt``, and ``set_window_title`` functions
|
||||||
|
* These allow you to provide feedback to the user in an asychronous fashion, meaning alerts can
|
||||||
|
display when the user is still entering text at the prompt.
|
||||||
|
* Cross-platform colored output support
|
||||||
|
* Deprecated the built-in ``cmd2`` support for colors including ``Cmd.colorize()`` and ``Cmd._colorcodes``
|
||||||
|
* The ``preparse``, ``postparsing_precmd``, and ``postparsing_postcmd`` methods *deprecated* in the previous release
|
||||||
|
have been deleted
|
||||||
|
* The new application lifecycle hook system allows for registration of callbacks to be called at various points
|
||||||
|
in the lifecycle and is more powerful and flexible than the previous system
|
||||||
|
* ``alias`` is now a command with sub-commands to create, list, and delete aliases. Therefore its syntax
|
||||||
|
has changed. All current alias commands in startup scripts or transcripts will break with this release.
|
||||||
|
* `unalias` was deleted since ``alias delete`` replaced it
|
||||||
|
- Drop remove-typing.patch . Applied upstream
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 3 11:13:35 UTC 2018 - Matěj Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Add remove-typing.patch removing requirements for the typing library,
|
||||||
|
which is useless now.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
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
|
||||||
|
|
||||||
|
- update to 0.8.9:
|
||||||
|
* Bug Fixes
|
||||||
|
* Fixed extra slash that could print when tab completing users on Windows
|
||||||
|
* Prevent crashes that could occur attempting to open a file in non-existent directory or with very long filename
|
||||||
|
* Make sure pip installs version 0.8.x if you have python 2.7
|
||||||
|
* Commands using the @with_argparser_and_unknown_args were not correctly recognized when tab completing
|
||||||
|
* Fixed issue where completion display function was overwritten when a submenu quits
|
||||||
|
* Fixed ``AttributeError`` on Windows when running a ``select`` command cause by **pyreadline** not implementing ``remove_history_item``
|
||||||
|
* Bug Fixes
|
||||||
|
* Fixed a bug with all argument decorators where the wrapped function wasn't returning a value and thus couldn't cause the cmd2 app to quit
|
||||||
|
|
||||||
|
* Enhancements
|
||||||
|
* Added warning about **libedit** variant of **readline** not being supported on macOS
|
||||||
|
* Added tab-completion of alias names in value filed of **alias** command
|
||||||
|
* Enhanced the ``py`` console in the following ways
|
||||||
|
* Added tab completion of Python identifiers instead of **cmd2** commands
|
||||||
|
* Separated the ``py`` console history from the **cmd2** history
|
||||||
|
* Added support for verbose help with -v where it lists a brief summary of what each command does
|
||||||
|
* Added support for categorizing commands into groups within the help menu
|
||||||
|
* See the [Grouping Commands](http://cmd2.readthedocs.io/en/latest/argument_processing.html?highlight=verbose#grouping-commands) section of the docs for more info
|
||||||
|
* See [help_categories.py](https://github.com/python-cmd2/cmd2/blob/master/examples/help_categories.py) for an example
|
||||||
|
* Tab completion of paths now supports ~user user path expansion
|
||||||
|
* Simplified implementation of various tab completion functions so they no longer require ``ctypes``
|
||||||
|
* Expanded documentation of ``display_matches`` list to clarify its purpose. See cmd2.py for this documentation.
|
||||||
|
* Adding opening quote to tab completion if any of the completion suggestions have a space.
|
||||||
|
* Tab completion has been overhauled and now supports completion of strings with quotes and spaces.
|
||||||
|
* Tab completion will automatically add an opening quote if a string with a space is completed.
|
||||||
|
* Added ``delimiter_complete`` function for tab completing delimited strings
|
||||||
|
* Added more control over tab completion behavior including the following flags. The use of these flags is documented in cmd2.py
|
||||||
|
* ``allow_appended_space``
|
||||||
|
* ``allow_closing_quote``
|
||||||
|
* Due to the tab completion changes, non-Windows platforms now depend on [wcwidth](https://pypi.python.org/pypi/wcwidth).
|
||||||
|
* An alias name can now match a command name.
|
||||||
|
* An alias can now resolve to another alias.
|
||||||
|
|
||||||
|
* **Python 2 EOL notice**
|
||||||
|
* This is the last release where new features will be added to ``cmd2`` for Python 2.7
|
||||||
|
* The 0.9.0 release of ``cmd2`` will support Python 3.4+ only
|
||||||
|
* Additional 0.8.x releases may be created to supply bug fixes for Python 2.7 up until August 31, 2018
|
||||||
|
* After August 31, 2018 not even bug fixes will be provided for Python 2.7
|
||||||
|
|
||||||
|
* Fixed conditional dependency issue in setup.py that was in 0.8.3.
|
||||||
|
* Fixed ``help`` command not calling functions for help topics
|
||||||
|
* Fixed not being able to use quoted paths when redirecting with ``<`` and ``>``
|
||||||
|
|
||||||
|
* Enhancements
|
||||||
|
* Attribute Changes (Breaks backward compatibility)
|
||||||
|
* ``exclude_from_help`` is now called ``hidden_commands`` since these commands are hidden from things other than help, including tab completion
|
||||||
|
* This list also no longer takes the function names of commands (``do_history``), but instead uses the command names themselves (``history``)
|
||||||
|
* ``excludeFromHistory`` is now called ``exclude_from_history``
|
||||||
|
* ``cmd_with_subs_completer()`` no longer takes an argument called ``base``. Adding tab completion to subcommands has been simplified to declaring it in the
|
||||||
|
subcommand parser's default settings. This easily allows arbitrary completers like path_complete to be used.
|
||||||
|
See [subcommands.py](https://github.com/python-cmd2/cmd2/blob/master/examples/subcommands.py) for an example of how to use
|
||||||
|
tab completion in subcommands. In addition, the docstring for ``cmd_with_subs_completer()`` offers more details.
|
||||||
|
* Bug Fixes
|
||||||
|
* Fixed a bug in tab-completion of command names within sub-menus
|
||||||
|
* Fixed a bug when using persistent readline history in Python 2.7
|
||||||
|
* Fixed a bug where the ``AddSubmenu`` decorator didn't work with a default value for ``shared_attributes``
|
||||||
|
* Added a check to ``ppaged()`` to only use a pager when running in a real fully functional terminal
|
||||||
|
* Enhancements
|
||||||
|
* Added [quit_on_sigint](http://cmd2.readthedocs.io/en/latest/settingchanges.html#quit-on-sigint) attribute to enable canceling current line instead of quitting when Ctrl+C is typed
|
||||||
|
* Added possibility of having readline history preservation in a SubMenu
|
||||||
|
* Added [table_display.py](https://github.com/python-cmd2/cmd2/blob/master/examples/table_display.py) example to demonstrate how to display tabular data
|
||||||
|
* Added command aliasing with ``alias`` and ``unalias`` commands
|
||||||
|
* Added the ability to load an initialization script at startup
|
||||||
|
* See [alias_startup.py](https://github.com/python-cmd2/cmd2/blob/master/examples/alias_startup.py) for an example
|
||||||
|
* Added a default SIGINT handler which terminates any open pipe subprocesses and re-raises a KeyboardInterrupt
|
||||||
|
* For macOS, will load the ``gnureadline`` module if available and ``readline`` if not
|
||||||
|
* Bug Fixes
|
||||||
|
* Fixed a bug if a non-existent **do_*** method was added to the ``exclude_from_help`` list
|
||||||
|
* Fixed a bug in a unit test which would fail if your home directory was empty on a Linux system
|
||||||
|
* Fixed outdated help text for the **edit** command
|
||||||
|
* Fixed outdated [remove_unused.py](https://github.com/python-cmd2/cmd2/blob/master/examples/remove_unused.py)
|
||||||
|
* Enhancements
|
||||||
|
* Added support for sub-menus.
|
||||||
|
* See [submenus.py](https://github.com/python-cmd2/cmd2/blob/master/examples/submenus.py) for an example of how to use it
|
||||||
|
* Added option for persistent readline history
|
||||||
|
* See [persistent_history.py](https://github.com/python-cmd2/cmd2/blob/master/examples/persistent_history.py) for an example
|
||||||
|
* See the [Searchable command history](http://cmd2.readthedocs.io/en/latest/freefeatures.html#searchable-command-history) section of the documentation for more info
|
||||||
|
* Improved PyPI packaging by including unit tests and examples in the tarball
|
||||||
|
* Improved documentation to make it more obvious that **poutput()** should be used instead of **print()**
|
||||||
|
* ``exclude_from_help`` and ``excludeFromHistory`` are now instance instead of class attributes
|
||||||
|
* Added flag and index based tab completion helper functions
|
||||||
|
* See [tab_completion.py](https://github.com/python-cmd2/cmd2/blob/master/examples/tab_completion.py)
|
||||||
|
* Added support for displaying output which won't fit on the screen via a pager using ``ppaged()``
|
||||||
|
* See [paged_output.py](https://github.com/python-cmd2/cmd2/blob/master/examples/paged_output.py)
|
||||||
|
* Attributes Removed (**can cause breaking changes**)
|
||||||
|
* ``abbrev`` - Removed support for abbreviated commands
|
||||||
|
* Good tab completion makes this unnecessary and its presence could cause harmful unintended actions
|
||||||
|
* ``case_insensitive`` - Removed support for case-insensitive command parsing
|
||||||
|
* Its presence wasn't very helpful and could cause harmful unintended actions
|
||||||
|
* Bug Fixes
|
||||||
|
* Fixed unit tests on Python 3.7 due to changes in how re.escape() behaves in Python 3.7
|
||||||
|
* Fixed a bug where unknown commands were getting saved in the history
|
||||||
|
* Enhancements
|
||||||
|
* Three new decorators for **do_*** commands to make argument parsing easier
|
||||||
|
* **with_argument_list** decorator to change argument type from str to List[str]
|
||||||
|
* **do_*** commands get a single argument which is a list of strings, as pre-parsed by shlex.split()
|
||||||
|
* **with_arparser** decorator for strict argparse-based argument parsing of command arguments
|
||||||
|
* **do_*** commands get a single argument which is the output of argparse.parse_args()
|
||||||
|
* **with_argparser_and_unknown_args** decorator for argparse-based argument parsing, but allows unknown args
|
||||||
|
* **do_*** commands get two arguments, the output of argparse.parse_known_args()
|
||||||
|
* See the [Argument Processing](http://cmd2.readthedocs.io/en/latest/argument_processing.html) section of the documentation for more information on these decorators
|
||||||
|
* Alternatively, see the [argparse_example.py](https://github.com/python-cmd2/cmd2/blob/master/examples/argparse_example.py)
|
||||||
|
and [arg_print.py](https://github.com/python-cmd2/cmd2/blob/master/examples/arg_print.py) examples
|
||||||
|
* Added support for Argparse sub-commands when using the **with_argument_parser** or **with_argparser_and_unknown_args** decorators
|
||||||
|
* See [subcommands.py](https://github.com/python-cmd2/cmd2/blob/master/examples/subcommands.py) for an example of how to use subcommands
|
||||||
|
* Tab-completion of sub-command names is automatically supported
|
||||||
|
* The **__relative_load** command is now hidden from the help menu by default
|
||||||
|
* This command is not intended to be called from the command line, only from within scripts
|
||||||
|
* The **set** command now has an additional **-a/--all** option to also display read-only settings
|
||||||
|
* The **history** command can now run, edit, and save prior commands, in addition to displaying prior commands.
|
||||||
|
* The **history** command can now automatically generate a transcript file for regression testing
|
||||||
|
* This makes creating regression tests for your ``cmd2`` application trivial
|
||||||
|
* Commands Removed
|
||||||
|
* The **cmdenvironment** has been removed and its functionality incorporated into the **-a/--all** argument to **set**
|
||||||
|
* The **show** command has been removed. Its functionality has always existing within **set** and continues to do so
|
||||||
|
* The **save** command has been removed. The capability to save commands is now part of the **history** command.
|
||||||
|
* The **run** command has been removed. The capability to run prior commands is now part of the **history** command.
|
||||||
|
* Other changes
|
||||||
|
* The **edit** command no longer allows you to edit prior commands. The capability to edit prior commands is now part of the **history** command. The **edit** command still allows you to edit arbitrary files.
|
||||||
|
* the **autorun_on_edit** setting has been removed.
|
||||||
|
* For Python 3.4 and earlier, ``cmd2`` now has an additional dependency on the ``contextlib2`` module
|
||||||
|
* Deprecations
|
||||||
|
* The old **options** decorator for optparse-based argument parsing is now *deprecated*
|
||||||
|
* The old decorator is still present for now, but will be removed in a future release
|
||||||
|
* ``cmd2`` no longer includes **optparse.make_option**, so if your app needs it import directly from optparse
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 13 18:33:35 UTC 2018 - dmueller@suse.com
|
||||||
|
|
||||||
|
- 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
|
||||||
|
* ``<Ctrl>+d`` now properly quits when case-sensitive command parsing is enabled
|
||||||
|
* Fixed some pyperclip clipboard interaction bugs on Linux
|
||||||
|
* Fixed some timing bugs when running unit tests in parallel by using monkeypatch
|
||||||
|
* Enhancements
|
||||||
|
* Enhanced tab-completion of cmd2 command names to support case-insensitive completion
|
||||||
|
* Added an example showing how to remove unused commands
|
||||||
|
* Improved how transcript testing handles prompts with ANSI escape codes by stripping them
|
||||||
|
* Greatly improved implementation for how command output gets piped to a shell command
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 7 07:58:02 UTC 2017 - tbechtold@suse.com
|
||||||
|
|
||||||
|
- convert to singlespec
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 7 07:40:00 UTC 2017 - tbechtold@suse.com
|
||||||
|
|
||||||
|
- 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
|
||||||
|
* ``-`` wasn't being treated as a legal character
|
||||||
|
* The allow_cli_args attribute wasn't properly disabling parsing of args at invocation when False
|
||||||
|
* py command wasn't allowing scripts which used *cmd* function prior to entering an interactive Python session
|
||||||
|
* Don't throw exception when piping output to a shell command
|
||||||
|
* Transcript testing now properly calls ``preloop`` before and ``postloop`` after
|
||||||
|
* Fixed readline bug related to ANSI color escape codes in the prompt
|
||||||
|
* Added CONTRIBUTING.md and CODE_OF_CONDUCT.md files
|
||||||
|
* Added unicode parsing unit tests and listed unicode support as a feature when using Python 3
|
||||||
|
* Added more examples and improved documentation
|
||||||
|
* Added CmdResult namedtumple for returning and storing results
|
||||||
|
* Added local file system path completion for ``edit``, ``load``, ``save``, and ``shell`` commands
|
||||||
|
* Add shell command completion for ``shell`` command or ``!`` shortcut
|
||||||
|
* Abbreviated multiline commands are no longer allowed (they never worked correctly anyways)
|
||||||
|
* Refactored to use six module for a unified codebase which supports both Python 2 and Python 3
|
||||||
|
* Stabilized on all platforms (Windows, Mac, Linux) and all supported Python versions (2.7, 3.3, 3.4, 3.5, 3.6, PyPy)
|
||||||
|
* Added lots of unit tests and fixed a number of bugs
|
||||||
|
* Improved documentation and moved it to cmd2.readthedocs.io
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 14 14:21:27 UTC 2016 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 0.6.9:
|
||||||
|
* Support Python 3 input()
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 9 00:30:50 UTC 2015 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 0.6.8:
|
||||||
|
* In case when which is not installed, do not launch an editor
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 27 13:51:06 UTC 2013 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 0.6.7:
|
||||||
|
* various python 3.x compat fixes
|
||||||
|
- remove cmd2-pyparsing201.patch, merged upstream
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 17 13:28:58 UTC 2013 - speilicke@suse.com
|
||||||
|
|
||||||
|
- Add cmd2-pyparsing201.patch: Allow running with pyparsing>=2.0.1
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 3 08:04:14 UTC 2013 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 0.6.6.1:
|
||||||
|
* go back to pyparsing 1.5.7
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 13 10:01:07 UTC 2013 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 0.6.6:
|
||||||
|
* include editor search stderr fix
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 25 15:35:32 UTC 2013 - dheidler@suse.de
|
||||||
|
|
||||||
|
- Backport editor stderr fix
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 29 11:18:38 UTC 2013 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 0.6.5.1:
|
||||||
|
* Fix requires to python-pyparsing
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 11 21:43:32 UTC 2013 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Add python3 support
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jul 27 10:43:57 UTC 2012 - saschpe@suse.de
|
||||||
|
|
||||||
|
- Initial version
|
||||||
|
|
95
python-cmd2.spec
Normal file
95
python-cmd2.spec
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
#
|
||||||
|
# spec file for package python-cmd2
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# 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/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: python-cmd2
|
||||||
|
Version: 2.5.7
|
||||||
|
Release: 0
|
||||||
|
Summary: Extra features for standard library's cmd module
|
||||||
|
License: MIT
|
||||||
|
URL: https://github.com/python-cmd2/cmd2
|
||||||
|
Source: https://github.com/python-cmd2/cmd2/archive/refs/tags/%{version}.tar.gz#/cmd2-%{version}.tar.gz
|
||||||
|
Patch0: cmd2-no-coverage-tests.patch
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: %{pythons}
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
BuildRequires: vim
|
||||||
|
Requires: python
|
||||||
|
Requires: python-attrs >= 16.3.0
|
||||||
|
Requires: python-pyperclip >= 1.6
|
||||||
|
Requires: python-wcwidth >= 0.1.7
|
||||||
|
BuildArch: noarch
|
||||||
|
%if 0%{?python_version_nodots} < 38
|
||||||
|
Requires: python-importlib_metadata >= 1.6
|
||||||
|
Requires: python-typing_extensions
|
||||||
|
%endif
|
||||||
|
# SECTION Test requirements
|
||||||
|
BuildRequires: %{python_module attrs >= 16.3.0}
|
||||||
|
BuildRequires: %{python_module importlib_metadata >= 1.6 if %python-base < 3.8}
|
||||||
|
BuildRequires: %{python_module pyperclip >= 1.6}
|
||||||
|
BuildRequires: %{python_module pytest-mock}
|
||||||
|
BuildRequires: %{python_module pytest}
|
||||||
|
BuildRequires: %{python_module typing_extensions if %python-base < 3.8}
|
||||||
|
BuildRequires: %{python_module wcwidth >= 0.1.7}
|
||||||
|
BuildRequires: vim
|
||||||
|
# /SECTION
|
||||||
|
%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
|
||||||
|
%autosetup -p1 -n cmd2-%{version}
|
||||||
|
# Fix spurious-executable-perm
|
||||||
|
chmod a-x README.md
|
||||||
|
|
||||||
|
%build
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
%install
|
||||||
|
%pyproject_install
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
|
%check
|
||||||
|
# -q: prevent to colorize the terminal from color commands in parametrized test names
|
||||||
|
%pytest -q
|
||||||
|
|
||||||
|
%files %{python_files}
|
||||||
|
%license LICENSE
|
||||||
|
%doc CHANGELOG.md README.md
|
||||||
|
%{python_sitelib}/cmd2
|
||||||
|
%{python_sitelib}/cmd2-*-info
|
||||||
|
|
||||||
|
%changelog
|
Loading…
x
Reference in New Issue
Block a user