John Snow
ad4eebee00
scripts/qmp-shell: move the REPL functionality into QMPShell
...
Instead of doing this in main, move it into the class itself. (This
makes it easier to put into the qemu.qmp package later by removing as
much as we can from the main() function.)
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-23-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:07 -04:00
John Snow
1215a1fbef
scripts/qmp-shell: remove prompt argument from read_exec_command
...
It's only ever used by one caller, we can just absorb that logic.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-22-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:07 -04:00
John Snow
1caa505766
scripts/qmp-shell: move get_prompt() to prompt property
...
Small tidying; treat "prompt" like an immutable property instead of
function/method/routine.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-21-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:07 -04:00
John Snow
2ac3f3786e
scripts/qmp-shell: Make verbose a public attribute
...
No real reason to hide this behind an underscore; make it part of the
initializer and make it a regular RW attribute.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-20-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:07 -04:00
John Snow
ad459132c0
scripts/qmp-shell: Add pretty attribute to HMP shell
...
It's less useful, but it makes the initialization methods LSP
consistent, which quiets a mypy complaint.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-19-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:07 -04:00
John Snow
17329be2fd
scripts/qmp-shell: use argparse
...
Use argparse instead of an open-coded CLI parser, for consistency with
everything else.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-18-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:07 -04:00
John Snow
90bd8eb8dc
scripts/qmp-shell: use isinstance() instead of type()
...
A bit more idiomatic, and quiets some linter warnings.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-17-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:07 -04:00
John Snow
73f699c903
scripts/qmp-shell: remove if-raise-else patterns
...
Shushes pylint. I don't always mind these patterns personally, but I'm
not as sure that I want to remove the warning from pylint's repertoire
entirely. Oh well.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-16-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
d962ec85ed
scripts/qmp-shell: fix shell history exception handling
...
We want to remove exceptions that are too broad here; we only want to
catch IOErrors that get raised as a direct result of the open call.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-15-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
628b92dd67
scripts/qmp-shell: rename one and two-letter variables
...
A bit of churn and housekeeping for pylint, flake8 et al.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-14-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
2813dee053
scripts/qmp-shell: make QMPCompleter returns explicit
...
This function returns None when it doesn't find a match; do that
explicitly.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-13-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
50f6f1c308
scripts/qmp-shell: ignore visit_Name name
...
Not something I control, sorry, pylint.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-12-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
c6be2bf86e
scripts/qmp-shell: use triple-double-quote docstring style
...
(2014 me had never written python before.)
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-11-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
31226369ab
scripts/qmp-shell: declare verbose in __init__
...
Linters get angry when we don't define state at init time.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-10-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
5cb0233861
scripts/qmp-shell: Use python3-style super()
...
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-9-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
c4a1447fc1
scripts/qmp-shell: use @classmethod where appropriate
...
Methods with no self-use should belong to the class.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-8-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
9669c8289c
scripts/qmp-shell: remove shadowed variable from _print()
...
Don't use 'qmp' here, which shadows the qmp module.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-7-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
f2daa2d489
scripts/qmp-shell: fix connect method signature
...
It needs to match the parent's signature -- the negotiate parameter must
be optional.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-6-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
de14ba24f3
scripts/qmp-shell: fix exception handling
...
Fixes: 50d189c
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-5-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
70e5674018
scripts/qmp-shell: fix show_banner signature
...
The signatures need to match.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
169b43b367
scripts/qmp-shell: Apply flake8 rules
...
A lot of fiddling around to get us below 80 columns.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
badf462985
scripts/qmp-shell: apply isort rules
...
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210607200649.1840382-2-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
88fb483fc5
scripts/qemu-ga-client: Add forwarder shim
...
Add a little forwarder shim until we are sure that everyone is
comfortable with how to use the tools in their new packaged location.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210604155532.1499282-12-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
1e129afc31
scripts/qemu-ga-client: move to python/qemu/qmp/qemu_ga_client.py
...
The script itself will be unavailable for a few commits before being
restored, with no way to run it right after this commit. This helps move
git history into the new file. To prevent linter regressions, though, we
do need to immediately touch up the filename to remove dashes (to make
the module importable), and remove the executable bit.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210604155532.1499282-10-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
John Snow
ca683d4a2f
scripts/qemu-ga-client: add mypy type hints
...
This script is in slightly rough shape, but it still works. A lot of
care went into its initial development. In good faith, I'm updating it
to the latest Python coding standards. If there is in interest in this
script, though, I'll be asking for a contributor to take care of it
further.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210604155532.1499282-9-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00