aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2021-09-22 20:49:26 -0400
committerJohn Snow <jsnow@redhat.com>2021-10-12 12:22:10 -0400
commit58026b11f36f9a19fd35fdfbfa50be7bd78e70a5 (patch)
tree6601b284567ff23a427352880b806106cc71ead0 /python
parent6e2f6ec5615f50c38e21542bb66bb690a289cbfc (diff)
downloadqemu-58026b11f36f9a19fd35fdfbfa50be7bd78e70a5.zip
qemu-58026b11f36f9a19fd35fdfbfa50be7bd78e70a5.tar.gz
qemu-58026b11f36f9a19fd35fdfbfa50be7bd78e70a5.tar.bz2
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')
-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 24c9412..de87f87 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):
"""