From: Bob Halley Date: Thu, 2 Nov 2023 18:29:16 +0000 (-0700) Subject: support qh3 as well as aioquic X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7545d056247fc578d9569b99a7e8f573749cd8df;p=thirdparty%2Fdnspython.git support qh3 as well as aioquic --- diff --git a/dns/quic/__init__.py b/dns/quic/__init__.py index 69813f9f..cb032632 100644 --- a/dns/quic/__init__.py +++ b/dns/quic/__init__.py @@ -1,8 +1,14 @@ # Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license try: - import aioquic.quic.configuration # type: ignore - + # pylint: disable=unused-import + try: + import qh3 as aioquic # type: ignore + import qh3.quic.configuration # type: ignore + except ImportError: + import aioquic # type: ignore + import aioquic.quic.configuration # type: ignore + # pylint: enable=unused-import import dns.asyncbackend from dns._asyncbackend import NullContext from dns.quic._asyncio import ( diff --git a/dns/quic/_asyncio.py b/dns/quic/_asyncio.py index 0f44331f..8b793b7a 100644 --- a/dns/quic/_asyncio.py +++ b/dns/quic/_asyncio.py @@ -6,9 +6,18 @@ import ssl import struct import time -import aioquic.quic.configuration # type: ignore -import aioquic.quic.connection # type: ignore -import aioquic.quic.events # type: ignore +# pylint: disable=unused-import +try: + import qh3 as aioquic # type: ignore + import qh3.quic.configuration # type: ignore + import qh3.quic.connection # type: ignore + import qh3.quic.events # type: ignore +except ImportError: + import aioquic # type: ignore + import aioquic.quic.configuration # type: ignore + import aioquic.quic.connection # type: ignore + import aioquic.quic.events # type: ignore +# pylint: enable=unused-import import dns.asyncbackend import dns.exception diff --git a/dns/quic/_common.py b/dns/quic/_common.py index 0eacc691..e01112a0 100644 --- a/dns/quic/_common.py +++ b/dns/quic/_common.py @@ -7,8 +7,16 @@ import struct import time from typing import Any, Optional -import aioquic.quic.configuration # type: ignore -import aioquic.quic.connection # type: ignore +# pylint: disable=unused-import +try: + import qh3 as aioquic # type: ignore + import qh3.quic.configuration # type: ignore + import qh3.quic.connection # type: ignore +except ImportError: + import aioquic # type: ignore + import aioquic.quic.configuration # type: ignore + import aioquic.quic.connection # type: ignore +# pylint: enable=unused-import import dns.inet diff --git a/dns/quic/_sync.py b/dns/quic/_sync.py index d6731c90..8720338b 100644 --- a/dns/quic/_sync.py +++ b/dns/quic/_sync.py @@ -7,9 +7,18 @@ import struct import threading import time -import aioquic.quic.configuration # type: ignore -import aioquic.quic.connection # type: ignore -import aioquic.quic.events # type: ignore +# pylint: disable=unused-import +try: + import qh3 as aioquic # type: ignore + import qh3.quic.configuration # type: ignore + import qh3.quic.connection # type: ignore + import qh3.quic.events # type: ignore +except ImportError: + import aioquic # type: ignore + import aioquic.quic.configuration # type: ignore + import aioquic.quic.connection # type: ignore + import aioquic.quic.events # type: ignore +# pylint: enable=unused-import import dns.exception import dns.inet diff --git a/dns/quic/_trio.py b/dns/quic/_trio.py index 0284c982..72440397 100644 --- a/dns/quic/_trio.py +++ b/dns/quic/_trio.py @@ -5,9 +5,19 @@ import ssl import struct import time -import aioquic.quic.configuration # type: ignore -import aioquic.quic.connection # type: ignore -import aioquic.quic.events # type: ignore +# pylint: disable=unused-import +try: + import qh3 as aioquic # type: ignore + import qh3.quic.configuration # type: ignore + import qh3.quic.connection # type: ignore + import qh3.quic.events # type: ignore +except ImportError: + import aioquic # type: ignore + import aioquic.quic.configuration # type: ignore + import aioquic.quic.connection # type: ignore + import aioquic.quic.events # type: ignore +# pylint: enable=unused-import + import trio import dns.exception diff --git a/tests/nanoquic.py b/tests/nanoquic.py index 47c10431..e53612f6 100644 --- a/tests/nanoquic.py +++ b/tests/nanoquic.py @@ -6,10 +6,17 @@ try: import struct import threading - import aioquic.asyncio - import aioquic.asyncio.server - import aioquic.quic.configuration - import aioquic.quic.events + try: + import qh3 as aioquic + import qh3.asyncio + import qh3.asyncio.server + import qh3.quic.configuration + import qh3.quic.events + except ImportError: + import aioquic.asyncio + import aioquic.asyncio.server + import aioquic.quic.configuration + import aioquic.quic.events import dns.asyncquery import dns.message