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
587adaca55
python/qmp: add parse_address classmethod
...
This takes the place of qmp-shell's __get_address function. It also
allows other utilities to share the same parser and syntax for
specifying QMP locations.
Signed-off-by: John Snow <jsnow@redhat.com >
Message-id: 20210603003719.1321369-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com >
2021-06-18 16:10:06 -04:00
David Edmondson and Markus Armbruster
fca9d72323
qmp-shell: Sort by key when pretty-printing
...
If the user selects pretty-printing (-p) the contents of any
dictionaries in the output are sorted by key.
Signed-off-by: David Edmondson <david.edmondson@oracle.com >
Message-Id: <20201013141414.18398-1-david.edmondson@oracle.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Signed-off-by: Markus Armbruster <armbru@redhat.com >
2020-10-27 11:11:06 +01:00
John Snow and Philippe Mathieu-Daudé
2d110c1149
python: remove more instances of sys.version_info
...
We guarantee 3.5+ everywhere; remove more dead checks. In general, try
to avoid using version checks and instead prefer to attempt behavior
when possible.
Signed-off-by: John Snow <jsnow@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20200514035230.25756-1-jsnow@redhat.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
2020-05-31 18:25:07 +02:00