From: John Snow Date: Thu, 23 Sep 2021 00:49:26 +0000 (-0400) Subject: python/aqmp: Add dict conversion method to Greeting object X-Git-Tag: v6.2.0-rc0~59^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=58026b11f36f9a19fd35fdfbfa50be7bd78e70a5;p=thirdparty%2Fqemu.git 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 Reviewed-by: Paolo Bonzini Reviewed-by: Eric Blake Message-id: 20210923004938.3999963-6-jsnow@redhat.com Signed-off-by: John Snow --- diff --git a/python/qemu/aqmp/models.py b/python/qemu/aqmp/models.py index 24c94123ac0..de87f878047 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): """