summaryrefslogtreecommitdiffstats
path: root/python/qemu
diff options
context:
space:
mode:
authorJohn Snow2021-09-23 02:49:26 +0200
committerJohn Snow2021-10-12 18:22:10 +0200
commit58026b11f36f9a19fd35fdfbfa50be7bd78e70a5 (patch)
tree6601b284567ff23a427352880b806106cc71ead0 /python/qemu
parentpython/aqmp: add send_fd_scm (diff)
downloadqemu-58026b11f36f9a19fd35fdfbfa50be7bd78e70a5.tar.gz
qemu-58026b11f36f9a19fd35fdfbfa50be7bd78e70a5.tar.xz
qemu-58026b11f36f9a19fd35fdfbfa50be7bd78e70a5.zip
python/aqmp: Add dict conversion method to Greeting object
The iotests interface expects to return the greeting as a dict; AQMP offers it as a rich object. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-id: 20210923004938.3999963-6-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'python/qemu')
-rw-r--r--python/qemu/aqmp/models.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/python/qemu/aqmp/models.py b/python/qemu/aqmp/models.py
index 24c94123ac..de87f87804 100644
--- a/python/qemu/aqmp/models.py
+++ b/python/qemu/aqmp/models.py
@@ -8,8 +8,10 @@ data to make sure it conforms to spec.
# pylint: disable=too-few-public-methods
from collections import abc
+import copy
from typing import (
Any,
+ Dict,
Mapping,
Optional,
Sequence,
@@ -66,6 +68,17 @@ class Greeting(Model):
self._check_member('QMP', abc.Mapping, "JSON object")
self.QMP = QMPGreeting(self._raw['QMP'])
+ def _asdict(self) -> Dict[str, object]:
+ """
+ For compatibility with the iotests sync QMP wrapper.
+
+ The legacy QMP interface needs Greetings as a garden-variety Dict.
+
+ This interface is private in the hopes that it will be able to
+ be dropped again in the near-future. Caller beware!
+ """
+ return dict(copy.deepcopy(self._raw))
+
class QMPGreeting(Model):
"""