On 6/7/21 4:06 PM, John Snow wrote:
Based-on: <20210603003719.1321369-1-js...@redhat.com>
Based-on: <20210604155532.1499282-1-js...@redhat.com>
CI: https://gitlab.com/jsnow/qemu/-/pipelines/316425665
GitLab: https://gitlab.com/jsnow/qemu/-/commits/python-package-qmp-shell
This series follows:
1. [PATCH v3 00/19] Python: move /scripts/qmp/qom* to /python/qemu/qmp/qom*
2. [PATCH 00/11] python: move /scripts/qmp/gemu-ga-client.py to qemu.qmp package
and finishes moving stuff in ./scripts/qmp/ into ./python/qemu/qmp/*.
The benefits of this are:
1. Improved protection against accidental regression in qmp-using
scripts as we refactor QMP to introduce Async QMP and OOB support
2. Availability of common qmp command-line tools as part of the qemu.qmp
package
3. No more sys.path hacking for qemu.qmp-using utilities
4. Newly 100% clean linting baseline to use as an aid in reviewing
future patches.
This series is largely minor refactors, linting and typing cleanups,
followed by the move into the python packaging folder at the very end of
the series.
John Snow (42):
scripts/qmp-shell: apply isort rules
scripts/qmp-shell: Apply flake8 rules
scripts/qmp-shell: fix show_banner signature
scripts/qmp-shell: fix exception handling
scripts/qmp-shell: fix connect method signature
scripts/qmp-shell: remove shadowed variable from _print()
scripts/qmp-shell: use @classmethod where appropriate
scripts/qmp-shell: Use python3-style super()
scripts/qmp-shell: declare verbose in __init__
scripts/qmp-shell: use triple-double-quote docstring style
scripts/qmp-shell: ignore visit_Name name
scripts/qmp-shell: make QMPCompleter returns explicit
scripts/qmp-shell: rename one and two-letter variables
scripts/qmp-shell: fix shell history exception handling
scripts/qmp-shell: remove if-raise-else patterns
scripts/qmp-shell: use isinstance() instead of type()
scripts/qmp-shell: use argparse
scripts/qmp-shell: Add pretty attribute to HMP shell
scripts/qmp-shell: Make verbose a public attribute
scripts/qmp-shell: move get_prompt() to prompt property
scripts/qmp-shell: remove prompt argument from read_exec_command
scripts/qmp-shell: move the REPL functionality into QMPShell
scripts/qmp-shell: Fix "FuzzyJSON" parser
scripts/qmp-shell: refactor QMPCompleter
scripts/qmp-shell: initialize completer early
python/qmp: add QMPObject type alias
scripts/qmp-shell: add mypy types
scripts/qmp-shell: Accept SocketAddrT instead of string
scripts/qmp-shell: unprivatize 'pretty' property
python/qmp: return generic type from context manager
scripts/qmp-shell: Use context manager instead of atexit
scripts/qmp-shell: use logging to show warnings
scripts/qmp-shell: remove TODO
scripts/qmp-shell: Fix empty-transaction invocation
scripts/qmp-shell: Remove too-broad-exception
scripts/qmp-shell: convert usage comment to docstring
scripts/qmp-shell: remove double-underscores
scripts/qmp-shell: make QMPShellError inherit QMPError
scripts/qmp-shell: add docstrings
scripts/qmp-shell: move to python/qemu/qmp/qmp_shell.py
python: add qmp-shell entry point
scripts/qmp-shell: add redirection shim
python/qemu/qmp/__init__.py | 8 +-
python/qemu/qmp/qmp_shell.py | 535 +++++++++++++++++++++++++++++++++++
python/setup.cfg | 1 +
scripts/qmp/qmp-shell | 437 +---------------------------
4 files changed, 546 insertions(+), 435 deletions(-)
create mode 100644 python/qemu/qmp/qmp_shell.py
Preliminarily staged to my Python branch:
https://gitlab.com/jsnow/qemu/-/tree/python
CI: https://gitlab.com/jsnow/qemu/-/pipelines/320710762
I intend to send the PR collecting these 72 cleanup patches this Friday.
--js