[PATCH 00/11] python: move /scripts/qmp/gemu-ga-client.py to qemu.qmp package

John Snow posted 11 patches 2 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/next-importer-push tags/patchew/20210604155532.1499282-1-jsnow@redhat.com
Maintainers: Markus Armbruster <armbru@redhat.com>, John Snow <jsnow@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Cleber Rosa <crosa@redhat.com>
python/qemu/qmp/__init__.py       |  25 ++-
python/qemu/qmp/qemu_ga_client.py | 323 ++++++++++++++++++++++++++++++
python/setup.cfg                  |   1 +
scripts/qmp/qemu-ga-client        | 297 +--------------------------
4 files changed, 341 insertions(+), 305 deletions(-)
create mode 100644 python/qemu/qmp/qemu_ga_client.py
[PATCH 00/11] python: move /scripts/qmp/gemu-ga-client.py to qemu.qmp package
Posted by John Snow 2 years, 10 months ago
Delint and type the qemu-ga-client and move it over into
/python/qemu/qmp/qemu_ga_client.py.

Based-on: <20210603003719.1321369-1-jsnow@redhat.com>
GitLab: https://gitlab.com/jsnow/qemu/-/commits/python-package-qga
CI: https://gitlab.com/jsnow/qemu/-/pipelines/315122004

(Weakly based on "[PATCH v3 00/19] Python: move /scripts/qmp/qom* to
/python/qemu/qmp/qom*", for the purposes of avoiding context conflicts
in /python/setup.cfg, but is trivially rebased without it.)

Add a new console entrypoint to the package under "qemu-ga-client",
keeping the old name. (This makes a script named "qemu-ga-client"
available in your $PATH when you use pip to install the qemu.qmp
package.)

Add a forwarder shim back to /scripts/qmp/qemu-ga-client.py that
forwards to the new script, keeping functionality as it was in the old
location, at least for a little while. I intend to eventually deprecate
these forwarders, but not yet. (This allows you to use "qemu-ga-client"
from the scripts directory without needing to install the qemu.qmp
package.)

Now this script is protected against regressions against the qemu.qmp
package because it's part of it, and validated regularly by GitLab CI.

John Snow (11):
  scripts/qemu-ga-client: apply isort rules
  scripts/qemu-ga-client: apply (most) flake8 rules
  scripts/qemu-ga-client: Fix exception handling
  scripts/qemu-ga-client: replace deprecated optparse with argparse
  scripts/qemu-ga-client: add module docstring
  scripts/qemu-ga-client: apply (most) pylint rules
  python/qmp: Correct type of QMPReturnValue
  scripts/qemu-ga-client: add mypy type hints
  scripts/qemu-ga-client: move to python/qemu/qmp/qemu_ga_client.py
  python/qemu-ga-client: add entry point
  scripts/qemu-ga-client: Add forwarder shim

 python/qemu/qmp/__init__.py       |  25 ++-
 python/qemu/qmp/qemu_ga_client.py | 323 ++++++++++++++++++++++++++++++
 python/setup.cfg                  |   1 +
 scripts/qmp/qemu-ga-client        | 297 +--------------------------
 4 files changed, 341 insertions(+), 305 deletions(-)
 create mode 100644 python/qemu/qmp/qemu_ga_client.py

-- 
2.31.1



Re: [PATCH 00/11] python: move /scripts/qmp/gemu-ga-client.py to qemu.qmp package
Posted by John Snow 2 years, 10 months ago
On 6/4/21 11:55 AM, John Snow wrote:
> Delint and type the qemu-ga-client and move it over into
> /python/qemu/qmp/qemu_ga_client.py.
> 
> Based-on: <20210603003719.1321369-1-jsnow@redhat.com>
> GitLab: https://gitlab.com/jsnow/qemu/-/commits/python-package-qga
> CI: https://gitlab.com/jsnow/qemu/-/pipelines/315122004
> 
> (Weakly based on "[PATCH v3 00/19] Python: move /scripts/qmp/qom* to
> /python/qemu/qmp/qom*", for the purposes of avoiding context conflicts
> in /python/setup.cfg, but is trivially rebased without it.)
> 
> Add a new console entrypoint to the package under "qemu-ga-client",
> keeping the old name. (This makes a script named "qemu-ga-client"
> available in your $PATH when you use pip to install the qemu.qmp
> package.)
> 
> Add a forwarder shim back to /scripts/qmp/qemu-ga-client.py that
> forwards to the new script, keeping functionality as it was in the old
> location, at least for a little while. I intend to eventually deprecate
> these forwarders, but not yet. (This allows you to use "qemu-ga-client"
> from the scripts directory without needing to install the qemu.qmp
> package.)
> 
> Now this script is protected against regressions against the qemu.qmp
> package because it's part of it, and validated regularly by GitLab CI.
> 
> John Snow (11):
>    scripts/qemu-ga-client: apply isort rules
>    scripts/qemu-ga-client: apply (most) flake8 rules
>    scripts/qemu-ga-client: Fix exception handling
>    scripts/qemu-ga-client: replace deprecated optparse with argparse
>    scripts/qemu-ga-client: add module docstring
>    scripts/qemu-ga-client: apply (most) pylint rules
>    python/qmp: Correct type of QMPReturnValue
>    scripts/qemu-ga-client: add mypy type hints
>    scripts/qemu-ga-client: move to python/qemu/qmp/qemu_ga_client.py
>    python/qemu-ga-client: add entry point
>    scripts/qemu-ga-client: Add forwarder shim
> 
>   python/qemu/qmp/__init__.py       |  25 ++-
>   python/qemu/qmp/qemu_ga_client.py | 323 ++++++++++++++++++++++++++++++
>   python/setup.cfg                  |   1 +
>   scripts/qmp/qemu-ga-client        | 297 +--------------------------
>   4 files changed, 341 insertions(+), 305 deletions(-)
>   create mode 100644 python/qemu/qmp/qemu_ga_client.py
> 

Thanks, preliminarily staged on my python branch:

https://gitlab.com/jsnow/qemu/-/commits/python

CI (covers this series and the scripts/qmp/qom* series):
https://gitlab.com/jsnow/qemu/-/pipelines/319584565

I intend to send a PR this coming Friday after staging the qmp-shell 
cleanup series.

--js