On 17.09.21 07:40, John Snow wrote:
Swap out the synchronous QEMUMonitorProtocol from qemu.qmp with the sync
wrapper from qemu.aqmp instead.

Add an escape hatch in the form of the environment variable
QEMU_PYTHON_LEGACY_QMP which allows you to cajole QEMUMachine into using
the old interface, proving that both implementations work concurrently.

Signed-off-by: John Snow <js...@redhat.com>
---
  python/qemu/machine/machine.py | 7 ++++++-
  1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py
index 8f5a6649e5..6b005dd5d1 100644
--- a/python/qemu/machine/machine.py
+++ b/python/qemu/machine/machine.py
@@ -41,7 +41,6 @@
  )
from qemu.qmp import ( # pylint: disable=import-error
-    QEMUMonitorProtocol,
      QMPMessage,
      QMPReturnValue,
      SocketAddrT,
@@ -50,6 +49,12 @@
  from . import console_socket
+if os.environ.get('QEMU_PYTHON_LEGACY_QMP'):
+    from qemu.qmp import QEMUMonitorProtocol
+else:
+    from qemu.aqmp.legacy import QEMUMonitorProtocol
+
+
  LOG = logging.getLogger(__name__)

Black magic.

Reviewed-by: Hanna Reitz <hre...@redhat.com>
Tested-by: Hanna Reitz <hre...@redhat.com>


Reply via email to