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 <jsnow@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 <hreitz@redhat.com>
Tested-by: Hanna Reitz <hreitz@redhat.com>
Thanks for taking a look! Sorry for making you look at python :)