On Tue, Jul 15, 2025 at 10:31 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> Our minimum python is now 3.9, so back compat with python
> 3.6 is no longer required.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Another thing that happened in the standalone tree, but not in
qemu.git. Ditto patches 4, 5, 6.
> ---
> python/qemu/qmp/protocol.py | 3 +--
> python/qemu/qmp/util.py | 16 ----------------
> 2 files changed, 1 insertion(+), 18 deletions(-)
>
> diff --git a/python/qemu/qmp/protocol.py b/python/qemu/qmp/protocol.py
> index a4ffdfad51..9a7ada4a1e 100644
> --- a/python/qemu/qmp/protocol.py
> +++ b/python/qemu/qmp/protocol.py
> @@ -39,7 +39,6 @@
> create_task,
> exception_summary,
> flush,
> - is_closing,
> pretty_traceback,
> upper_half,
> wait_closed,
> @@ -825,7 +824,7 @@ async def _bh_close_stream(self, error_pathway: bool = False) -> None:
> if not self._writer:
> return
>
> - if not is_closing(self._writer):
> + if not self._writer.is_closing():
> self.logger.debug("Closing StreamWriter.")
> self._writer.close()
>
> diff --git a/python/qemu/qmp/util.py b/python/qemu/qmp/util.py
> index ca6225e9cd..39fc341f2f 100644
> --- a/python/qemu/qmp/util.py
> +++ b/python/qemu/qmp/util.py
> @@ -104,22 +104,6 @@ def create_task(coro: Coroutine[Any, Any, T],
> return asyncio.ensure_future(coro, loop=loop)
>
>
> -def is_closing(writer: asyncio.StreamWriter) -> bool:
> - """
> - Python 3.6-compatible `asyncio.StreamWriter.is_closing` wrapper.
> -
> - :param writer: The `asyncio.StreamWriter` object.
> - :return: `True` if the writer is closing, or closed.
> - """
> - if sys.version_info >= (3, 7):
> - return writer.is_closing()
> -
> - # Python 3.6:
> - transport = writer.transport
> - assert isinstance(transport, asyncio.WriteTransport)
> - return transport.is_closing()
> -
> -
> async def wait_closed(writer: asyncio.StreamWriter) -> None:
> """
> Python 3.6-compatible `asyncio.StreamWriter.wait_closed` wrapper.
> --
> 2.49.0
>