[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 58/72] scripts/qmp-shell: Accept SocketAddrT instead of string
From: |
John Snow |
Subject: |
[PATCH v2 58/72] scripts/qmp-shell: Accept SocketAddrT instead of string |
Date: |
Tue, 3 Nov 2020 19:35:48 -0500 |
Don't extend QEMUMonitorProtocol but change the argument types; move the
string parsing just outside of the class.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qmp/qmp-shell | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell
index 2d0e85b5f723..b465c7f9e2d6 100755
--- a/scripts/qmp/qmp-shell
+++ b/scripts/qmp/qmp-shell
@@ -130,9 +130,9 @@ class FuzzyJSON(ast.NodeTransformer):
# TODO: QMPShell's interface is a bit ugly (eg. _fill_completion() and
# _execute_cmd()). Let's design a better one.
class QMPShell(qmp.QEMUMonitorProtocol):
- def __init__(self, address: str, pretty: bool = False,
- verbose: bool = False):
- super().__init__(self.parse_address(address))
+ def __init__(self, address: qmp.SocketAddrT,
+ pretty: bool = False, verbose: bool = False):
+ super().__init__(address)
self._greeting: Optional[QMPMessage] = None
self._completer = QMPCompleter()
self._pretty = pretty
@@ -347,7 +347,7 @@ class QMPShell(qmp.QEMUMonitorProtocol):
class HMPShell(QMPShell):
- def __init__(self, address: str,
+ def __init__(self, address: qmp.SocketAddrT,
pretty: bool = False, verbose: bool = False):
super().__init__(address, pretty, verbose)
self.__cpu_index = 0
@@ -450,11 +450,13 @@ def main() -> None:
shell_class = HMPShell if args.hmp else QMPShell
try:
- qemu = shell_class(args.qmp_server, args.pretty, args.verbose)
+ address = shell_class.parse_address(args.qmp_server)
except qmp.QMPBadPortError:
parser.error(f"Bad port number: {args.qmp_server}")
return # pycharm doesn't know error() is noreturn
+ qemu = shell_class(address, args.pretty, args.verbose)
+
try:
qemu.connect(negotiate=not args.skip_negotiation)
except qmp.QMPConnectError:
--
2.26.2
- [PATCH v2 47/72] python/qmp: add parse_address classmethod, (continued)
- [PATCH v2 47/72] python/qmp: add parse_address classmethod, John Snow, 2020/11/03
- [PATCH v2 48/72] scripts/qmp-shell: Add pretty attribute to HMP shell, John Snow, 2020/11/03
- [PATCH v2 49/72] scripts/qmp-shell: Make verbose a public attribute, John Snow, 2020/11/03
- [PATCH v2 50/72] scripts/qmp-shell: move get_prompt() to prompt property, John Snow, 2020/11/03
- [PATCH v2 51/72] scripts/qmp-shell: remove prompt argument from read_exec_command, John Snow, 2020/11/03
- [PATCH v2 52/72] scripts/qmp-shell: move the REPL functionality into QMPShell, John Snow, 2020/11/03
- [PATCH v2 53/72] scripts/qmp-shell: Fix "FuzzyJSON" parser, John Snow, 2020/11/03
- [PATCH v2 54/72] scripts/qmp-shell: refactor QMPCompleter, John Snow, 2020/11/03
- [PATCH v2 56/72] python/qmp: add QMPObject type alias, John Snow, 2020/11/03
- [PATCH v2 59/72] scripts/qmp-shell: unprivatize 'pretty' property, John Snow, 2020/11/03
- [PATCH v2 58/72] scripts/qmp-shell: Accept SocketAddrT instead of string,
John Snow <=
- [PATCH v2 55/72] scripts/qmp-shell: initialize completer early, John Snow, 2020/11/03
- [PATCH v2 61/72] scripts/qmp-shell: Use context manager instead of atexit, John Snow, 2020/11/03
- [PATCH v2 62/72] scripts/qmp-shell: use logging to show warnings, John Snow, 2020/11/03
- [PATCH v2 65/72] scripts/qmp-shell: Remove too-broad-exception, John Snow, 2020/11/03
- [PATCH v2 66/72] scripts/qmp-shell: convert usage comment to docstring, John Snow, 2020/11/03
- [PATCH v2 63/72] scripts/qmp-shell: remove TODO, John Snow, 2020/11/03
- [PATCH v2 64/72] scripts/qmp-shell: Fix empty-transaction invocation, John Snow, 2020/11/03
- [PATCH v2 57/72] scripts/qmp-shell: add mypy types, John Snow, 2020/11/03
- [PATCH v2 60/72] python/qmp: return generic type from context manager, John Snow, 2020/11/03
- [PATCH v2 68/72] scripts/qmp-shell: make QMPShellError inherit QMPError, John Snow, 2020/11/03