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:
parent
c7daa57eb5
commit
3f3c9b4c9d
@ -578,11 +578,21 @@ class QEMUMachine:
|
||||
return args
|
||||
|
||||
def qmp(self, cmd: str,
|
||||
conv_keys: bool = True,
|
||||
args_dict: Optional[Dict[str, object]] = None,
|
||||
conv_keys: Optional[bool] = None,
|
||||
**args: Any) -> QMPMessage:
|
||||
"""
|
||||
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)
|
||||
return self._qmp.cmd(cmd, args=qmp_args)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user