mirror of
https://github.com/mii443/qemu.git
synced 2025-12-03 02:58:29 +00:00
python/qemu/machine: QEMUMachine: improve qmp() method
We often call qmp() with unpacking dict, like qmp('foo', **{...}).
mypy don't really like it, it thinks that passed unpacked dict is a
positional argument and complains that it type should be bool (because
second argument of qmp() is conv_keys: bool).
Allow passing dict directly, simplifying interface, and giving a way to
satisfy mypy.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-Id: <20210824083856.17408-25-vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
This commit is contained in:
committed by
Hanna Reitz
parent
c7daa57eb5
commit
3f3c9b4c9d
@@ -578,11 +578,21 @@ class QEMUMachine:
|
|||||||
return args
|
return args
|
||||||
|
|
||||||
def qmp(self, cmd: str,
|
def qmp(self, cmd: str,
|
||||||
conv_keys: bool = True,
|
args_dict: Optional[Dict[str, object]] = None,
|
||||||
|
conv_keys: Optional[bool] = None,
|
||||||
**args: Any) -> QMPMessage:
|
**args: Any) -> QMPMessage:
|
||||||
"""
|
"""
|
||||||
Invoke a QMP command and return the response dict
|
Invoke a QMP command and return the response dict
|
||||||
"""
|
"""
|
||||||
|
if args_dict is not None:
|
||||||
|
assert not args
|
||||||
|
assert conv_keys is None
|
||||||
|
args = args_dict
|
||||||
|
conv_keys = False
|
||||||
|
|
||||||
|
if conv_keys is None:
|
||||||
|
conv_keys = True
|
||||||
|
|
||||||
qmp_args = self._qmp_args(conv_keys, args)
|
qmp_args = self._qmp_args(conv_keys, args)
|
||||||
return self._qmp.cmd(cmd, args=qmp_args)
|
return self._qmp.cmd(cmd, args=qmp_args)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user