]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
apply black 26.1 main
authorBob Halley <halley@dnspython.org>
Sat, 24 Jan 2026 00:56:02 +0000 (16:56 -0800)
committerBob Halley <halley@dnspython.org>
Sat, 24 Jan 2026 00:56:02 +0000 (16:56 -0800)
54 files changed:
dns/_asyncio_backend.py
dns/asyncquery.py
dns/asyncresolver.py
dns/btreezone.py
dns/inet.py
dns/message.py
dns/name.py
dns/query.py
dns/quic/_asyncio.py
dns/quic/_sync.py
dns/quic/_trio.py
dns/rdtypes/ANY/AMTRELAY.py
dns/rdtypes/ANY/CERT.py
dns/rdtypes/ANY/CSYNC.py
dns/rdtypes/ANY/DSYNC.py
dns/rdtypes/ANY/GPOS.py
dns/rdtypes/ANY/HIP.py
dns/rdtypes/ANY/KEY.py
dns/rdtypes/ANY/LOC.py
dns/rdtypes/ANY/NSEC3.py
dns/rdtypes/ANY/NSEC3PARAM.py
dns/rdtypes/ANY/OPT.py
dns/rdtypes/ANY/TSIG.py
dns/rdtypes/ANY/URI.py
dns/rdtypes/IN/APL.py
dns/rdtypes/IN/NAPTR.py
dns/rdtypes/IN/SRV.py
dns/rdtypes/svcbbase.py
dns/renderer.py
dns/resolver.py
dns/rrset.py
dns/set.py
dns/transaction.py
dns/tsigkeyring.py
dns/win32util.py
dns/xfr.py
dns/zone.py
dns/zonefile.py
examples/ddns_server.py
examples/receive_notify.py
examples/send_notify.py
pyproject.toml
tests/doq.py
tests/nanonameserver.py
tests/test_async.py
tests/test_generate.py
tests/test_message.py
tests/test_name.py
tests/test_query.py
tests/test_resolution.py
tests/test_resolver.py
tests/test_xfr.py
tests/test_zone.py
tests/test_zonedigest.py

index ecdd4ac589a83e1444db0643471b830315af9cb0..831631828ba6c15d4bbc25931a1b9af403e0631b 100644 (file)
@@ -235,7 +235,7 @@ class Backend(dns._asyncbackend.Backend):
                 # This shouldn't happen, but we check to make code analysis software
                 # happier.
                 raise ValueError("destination required for stream sockets")
-            (r, w) = await _maybe_wait_for(
+            r, w = await _maybe_wait_for(
                 asyncio.open_connection(
                     destination[0],
                     destination[1],
index cde28adc52fb483124bed6b506cd5d7a2fafc7c5..ffe768844413c4ecab6b4f60df50eef781c379ec 100644 (file)
@@ -144,7 +144,7 @@ async def receive_udp(
 
     wire = b""
     while True:
-        (wire, from_address) = await sock.recvfrom(65535, _timeout(expiration))
+        wire, from_address = await sock.recvfrom(65535, _timeout(expiration))
         if not _matches_destination(
             sock.family, from_address, destination, ignore_unexpected
         ):
@@ -209,7 +209,7 @@ async def udp(
     parameters, exceptions, and return type of this method.
     """
     wire = q.to_wire()
-    (begin_time, expiration) = _compute_times(timeout)
+    begin_time, expiration = _compute_times(timeout)
     af = dns.inet.af_for_address(where)
     destination = _lltuple((where, port), af)
     if sock:
@@ -225,7 +225,7 @@ async def udp(
         cm = await backend.make_socket(af, socket.SOCK_DGRAM, 0, stuple, dtuple)
     async with cm as s:
         await send_udp(s, wire, destination, expiration)  # pyright: ignore
-        (r, received_time, _) = await receive_udp(
+        r, received_time, _ = await receive_udp(
             s,  # pyright: ignore
             destination,
             expiration,
@@ -412,7 +412,7 @@ async def tcp(
     """
 
     wire = q.to_wire()
-    (begin_time, expiration) = _compute_times(timeout)
+    begin_time, expiration = _compute_times(timeout)
     if sock:
         # Verify that the socket is connected, as if it's not connected,
         # it's not writable, and the polling in send_tcp() will time out or
@@ -432,7 +432,7 @@ async def tcp(
         )
     async with cm as s:
         await send_tcp(s, wire, expiration)  # pyright: ignore
-        (r, received_time) = await receive_tcp(
+        r, received_time = await receive_tcp(
             s,  # pyright: ignore
             expiration,
             one_rr_per_rrset,
@@ -476,7 +476,7 @@ async def tls(
     See :py:func:`dns.query.tls()` for the documentation of the other
     parameters, exceptions, and return type of this method.
     """
-    (begin_time, expiration) = _compute_times(timeout)
+    begin_time, expiration = _compute_times(timeout)
     if sock:
         cm: contextlib.AbstractAsyncContextManager = NullContext(sock)
     else:
@@ -737,7 +737,7 @@ async def _http3(
         cfactory = dns.quic.null_factory  # type: ignore
         mfactory = dns.quic.null_factory  # type: ignore
     else:
-        (cfactory, mfactory) = dns.quic.factories_for_backend(backend)  # type: ignore
+        cfactory, mfactory = dns.quic.factories_for_backend(backend)  # type: ignore
 
     async with cfactory() as context:
         async with mfactory(
@@ -749,7 +749,7 @@ async def _http3(
                 the_connection = the_manager.connect(  # pyright: ignore
                     where, port, source, source_port
                 )
-            (start, expiration) = _compute_times(timeout)
+            start, expiration = _compute_times(timeout)
             stream = await the_connection.make_stream(timeout)  # type: ignore
             async with stream:
                 # note that send_h3() does not need await
@@ -809,7 +809,7 @@ async def quic(
         mfactory = dns.quic.null_factory  # type: ignore
         the_connection = connection
     else:
-        (cfactory, mfactory) = dns.quic.factories_for_backend(backend)  # type: ignore
+        cfactory, mfactory = dns.quic.factories_for_backend(backend)  # type: ignore
 
     async with cfactory() as context:
         async with mfactory(
@@ -821,7 +821,7 @@ async def quic(
                 the_connection = the_manager.connect(  # pyright: ignore
                     where, port, source, source_port
                 )
-            (start, expiration) = _compute_times(timeout)
+            start, expiration = _compute_times(timeout)
             stream = await the_connection.make_stream(timeout)  # type: ignore
             async with stream:
                 await stream.send(wire, True)
@@ -866,14 +866,14 @@ async def _inbound_xfr(
         tsig_ctx = None
         r: dns.message.Message | None = None
         while not done:
-            (_, mexpiration) = _compute_times(timeout)
+            _, mexpiration = _compute_times(timeout)
             if mexpiration is None or (
                 expiration is not None and mexpiration > expiration
             ):
                 mexpiration = expiration
             if is_udp:
                 timeout = _timeout(mexpiration)
-                (rwire, _) = await udp_sock.recvfrom(65535, timeout)  # pyright: ignore
+                rwire, _ = await udp_sock.recvfrom(65535, timeout)  # pyright: ignore
             else:
                 ldata = await _read_exactly(tcp_sock, 2, mexpiration)  # pyright: ignore
                 (l,) = struct.unpack("!H", ldata)
@@ -917,7 +917,7 @@ async def inbound_xfr(
     the other parameters, exceptions, and return type of this method.
     """
     if query is None:
-        (query, serial) = dns.xfr.make_query(txn_manager)
+        query, serial = dns.xfr.make_query(txn_manager)
     else:
         serial = dns.xfr.extract_serial_from_query(query)
     af = dns.inet.af_for_address(where)
@@ -925,7 +925,7 @@ async def inbound_xfr(
     dtuple = (where, port)
     if not backend:
         backend = dns.asyncbackend.get_default_backend()
-    (_, expiration) = _compute_times(lifetime)
+    _, expiration = _compute_times(lifetime)
     if query.question[0].rdtype == dns.rdatatype.IXFR and udp_mode != UDPMode.NEVER:
         s = await backend.make_socket(
             af, socket.SOCK_DGRAM, 0, stuple, dtuple, _timeout(expiration)
index 52edc63e558239e7fe3aed2176d620501b91506e..752b4c6c83cc1ce3fc522a92192e9c6b02affd55 100644 (file)
@@ -74,7 +74,7 @@ class Resolver(dns.resolver.BaseResolver):
             backend = dns.asyncbackend.get_default_backend()
         start = time.time()
         while True:
-            (request, answer) = resolution.next_request()
+            request, answer = resolution.next_request()
             # Note we need to say "if answer is not None" and not just
             # "if answer" because answer implements __len__, and python
             # will call that.  We want to return if we have an answer
@@ -85,7 +85,7 @@ class Resolver(dns.resolver.BaseResolver):
             assert request is not None  # needed for type checking
             done = False
             while not done:
-                (nameserver, tcp, backoff) = resolution.next_nameserver()
+                nameserver, tcp, backoff = resolution.next_nameserver()
                 if backoff:
                     await backend.sleep(backoff)
                 timeout = self._compute_timeout(start, lifetime, resolution.errors)
@@ -99,9 +99,9 @@ class Resolver(dns.resolver.BaseResolver):
                         backend=backend,
                     )
                 except Exception as ex:
-                    (_, done) = resolution.query_result(None, ex)
+                    _, done = resolution.query_result(None, ex)
                     continue
-                (answer, done) = resolution.query_result(response, None)
+                answer, done = resolution.query_result(response, None)
                 # Note we need to say "if answer is not None" and not just
                 # "if answer" because answer implements __len__, and python
                 # will call that.  We want to return if we have an answer
index e4068ad23a06ca99946153b3cceedb0e2b29b18f..fdb71695a9f0cb0291888c68aee6066f9c90db0e 100644 (file)
@@ -162,7 +162,7 @@ class WritableVersion(dns.zone.WritableVersion):
     def _maybe_cow_with_name(
         self, name: dns.name.Name
     ) -> tuple[dns.node.Node, dns.name.Name]:
-        (node, name) = super()._maybe_cow_with_name(name)
+        node, name = super()._maybe_cow_with_name(name)
         node = cast(Node, node)
         if self._is_origin(name):
             node.flags |= NodeFlags.ORIGIN
@@ -214,7 +214,7 @@ class WritableVersion(dns.zone.WritableVersion):
     def put_rdataset(
         self, name: dns.name.Name, rdataset: dns.rdataset.Rdataset
     ) -> None:
-        (node, name) = self._maybe_cow_with_name(name)
+        node, name = self._maybe_cow_with_name(name)
         if (
             rdataset.rdtype == dns.rdatatype.NS
             and not node.is_origin_or_glue()  # type: ignore
@@ -231,7 +231,7 @@ class WritableVersion(dns.zone.WritableVersion):
         rdtype: dns.rdatatype.RdataType,
         covers: dns.rdatatype.RdataType,
     ) -> None:
-        (node, name) = self._maybe_cow_with_name(name)
+        node, name = self._maybe_cow_with_name(name)
         if rdtype == dns.rdatatype.NS and name in self.delegations:  # pyright: ignore
             node.flags &= ~NodeFlags.DELEGATION  # type: ignore
             self.delegations.discard(name)  # pyright: ignore
index 985ae18a14b4afa32dfeaafcdbd4a702688e43c7..7db021bd0d4e78cd13c811136747250af4b80d88 100644 (file)
@@ -163,7 +163,7 @@ def low_level_address_tuple(high_tuple: tuple[str, int], af: int | None = None)
             return (addrpart, port, 0, socket.if_nametoindex(scope))
         except AttributeError:  # pragma: no cover  (we can't really test this)
             ai_flags = socket.AI_NUMERICHOST
-            ((*_, tup), *_) = socket.getaddrinfo(address, port, flags=ai_flags)
+            (*_, tup), *_ = socket.getaddrinfo(address, port, flags=ai_flags)
             return tup
     else:
         raise NotImplementedError(f"unknown address family {af}")
index add952bd1f62222f7bd41a5692333fd8db85e203..2930a23aece5ce566ee11f87fa826f5b051d0ee0 100644 (file)
@@ -639,7 +639,7 @@ class Message:
         r.write_header()
         if self.tsig is not None:
             if self.want_tsig_sign:
-                (new_tsig, ctx) = dns.tsig.sign(
+                new_tsig, ctx = dns.tsig.sign(
                     r.get_wire(),
                     self.keyring,
                     self.tsig[0],
@@ -895,7 +895,7 @@ class Message:
 
         *rcode*, a ``dns.rcode.Rcode``, is the rcode to set.
         """
-        (value, evalue) = dns.rcode.to_flags(rcode)
+        value, evalue = dns.rcode.to_flags(rcode)
         self.flags &= 0xFFF0
         self.flags |= value
         self.ednsflags &= 0x00FFFFFF
@@ -1145,8 +1145,8 @@ class _WireReader:
         section = self.message.sections[section_number]
         for _ in range(qcount):
             qname = self.parser.get_name(self.message.origin)
-            (rdtype, rdclass) = self.parser.get_struct("!HH")
-            (rdclass, rdtype, _, _) = self.message._parse_rr_header(
+            rdtype, rdclass = self.parser.get_struct("!HH")
+            rdclass, rdtype, _, _ = self.message._parse_rr_header(
                 section_number, qname, rdclass, rdtype
             )
             self.message.find_rrset(
@@ -1173,7 +1173,7 @@ class _WireReader:
                 name = absolute_name.relativize(self.message.origin)
             else:
                 name = absolute_name
-            (rdtype, rdclass, ttl, rdlen) = self.parser.get_struct("!HHIH")
+            rdtype, rdclass, ttl, rdlen = self.parser.get_struct("!HHIH")
             if rdtype in (dns.rdatatype.OPT, dns.rdatatype.TSIG):
                 (
                     rdclass,
@@ -1184,7 +1184,7 @@ class _WireReader:
                     section_number, count, i, name, rdclass, rdtype
                 )
             else:
-                (rdclass, rdtype, deleting, empty) = self.message._parse_rr_header(
+                rdclass, rdtype, deleting, empty = self.message._parse_rr_header(
                     section_number, name, rdclass, rdtype
                 )
             rdata_start = self.parser.current
@@ -1263,9 +1263,7 @@ class _WireReader:
 
         if self.parser.remaining() < 12:
             raise ShortHeader
-        (id, flags, qcount, ancount, aucount, adcount) = self.parser.get_struct(
-            "!HHHHHH"
-        )
+        id, flags, qcount, ancount, aucount, adcount = self.parser.get_struct("!HHHHHH")
         factory = _message_factory_from_opcode(dns.opcode.from_flags(flags))
         self.message = factory(id=id)
         self.message.flags = dns.flags.Flag(flags)
@@ -1511,7 +1509,7 @@ class _TextReader:
             rdclass = dns.rdataclass.IN
         # Type
         rdtype = dns.rdatatype.from_text(token.value)
-        (rdclass, rdtype, _, _) = self.message._parse_rr_header(
+        rdclass, rdtype, _, _ = self.message._parse_rr_header(
             section_number, name, rdclass, rdtype
         )
         self.message.find_rrset(
@@ -1560,7 +1558,7 @@ class _TextReader:
             rdclass = dns.rdataclass.IN
         # Type
         rdtype = dns.rdatatype.from_text(token.value)
-        (rdclass, rdtype, deleting, empty) = self.message._parse_rr_header(
+        rdclass, rdtype, deleting, empty = self.message._parse_rr_header(
             section_number, name, rdclass, rdtype
         )
         token = self.tok.get()
index d0634246343f01e9c4bb8ba40e2d8265854937ab..cfdf2d6479de445cdac87be95e709f85f698f843 100644 (file)
@@ -505,7 +505,7 @@ class Name:
         Returns a ``bool``.
         """
 
-        (nr, _, _) = self.fullcompare(other)
+        nr, _, _ = self.fullcompare(other)
         if nr == NameRelation.SUBDOMAIN or nr == NameRelation.EQUAL:
             return True
         return False
@@ -519,7 +519,7 @@ class Name:
         Returns a ``bool``.
         """
 
-        (nr, _, _) = self.fullcompare(other)
+        nr, _, _ = self.fullcompare(other)
         if nr == NameRelation.SUPERDOMAIN or nr == NameRelation.EQUAL:
             return True
         return False
index 99da767e60ff52c483772a8c25ba222279f2d5c5..f32ec45aca0d95cc58d6f04a5cee0b5f92eca904 100644 (file)
@@ -512,9 +512,7 @@ def https(
     Returns a ``dns.message.Message``.
     """
 
-    (af, _, the_source) = _destination_and_source(
-        where, port, source, source_port, False
-    )
+    af, _, the_source = _destination_and_source(where, port, source, source_port, False)
     # we bind url and then override as pyright can't figure out all paths bind.
     url = where
     if af is not None and dns.inet.is_address(where):
@@ -714,7 +712,7 @@ def _http3(
             the_connection = the_manager.connect(  # pyright: ignore
                 where, port, source, source_port
             )
-        (start, expiration) = _compute_times(timeout)
+        start, expiration = _compute_times(timeout)
         with the_connection.make_stream(timeout) as stream:  # type: ignore
             stream.send_h3(url, wire, post)
             wire = stream.receive(_remaining(expiration))
@@ -853,7 +851,7 @@ def receive_udp(
 
     wire = b""
     while True:
-        (wire, from_address) = _udp_recv(sock, 65535, expiration)
+        wire, from_address = _udp_recv(sock, 65535, expiration)
         if not _matches_destination(
             sock.family, from_address, destination, ignore_unexpected
         ):
@@ -952,10 +950,10 @@ def udp(
     """
 
     wire = q.to_wire()
-    (af, destination, source) = _destination_and_source(
+    af, destination, source = _destination_and_source(
         where, port, source, source_port, True
     )
-    (begin_time, expiration) = _compute_times(timeout)
+    begin_time, expiration = _compute_times(timeout)
     if sock:
         cm: contextlib.AbstractContextManager = contextlib.nullcontext(sock)
     else:
@@ -963,7 +961,7 @@ def udp(
         cm = make_socket(af, socket.SOCK_DGRAM, source)
     with cm as s:
         send_udp(s, wire, destination, expiration)
-        (r, received_time) = receive_udp(
+        r, received_time = receive_udp(
             s,
             destination,
             expiration,
@@ -1244,11 +1242,11 @@ def tcp(
     """
 
     wire = q.to_wire()
-    (begin_time, expiration) = _compute_times(timeout)
+    begin_time, expiration = _compute_times(timeout)
     if sock:
         cm: contextlib.AbstractContextManager = contextlib.nullcontext(sock)
     else:
-        (af, destination, source) = _destination_and_source(
+        af, destination, source = _destination_and_source(
             where, port, source, source_port, True
         )
         assert af is not None
@@ -1258,7 +1256,7 @@ def tcp(
             # pylint: disable=possibly-used-before-assignment
             _connect(s, destination, expiration)  # pyright: ignore
         send_tcp(s, wire, expiration)
-        (r, received_time) = receive_tcp(
+        r, received_time = receive_tcp(
             s, expiration, one_rr_per_rrset, q.keyring, q.mac, ignore_trailing
         )
         r.time = received_time - begin_time
@@ -1399,8 +1397,8 @@ def tls(
         )
 
     wire = q.to_wire()
-    (begin_time, expiration) = _compute_times(timeout)
-    (af, destination, source) = _destination_and_source(
+    begin_time, expiration = _compute_times(timeout)
+    af, destination, source = _destination_and_source(
         where, port, source, source_port, True
     )
     assert af is not None  # where must be an address
@@ -1417,7 +1415,7 @@ def tls(
         _connect(s, destination, expiration)
         _tls_handshake(s, expiration)
         send_tcp(s, wire, expiration)
-        (r, received_time) = receive_tcp(
+        r, received_time = receive_tcp(
             s, expiration, one_rr_per_rrset, q.keyring, q.mac, ignore_trailing
         )
         r.time = received_time - begin_time
@@ -1508,7 +1506,7 @@ def quic(
             the_connection = the_manager.connect(  # pyright: ignore
                 where, port, source, source_port
             )
-        (start, expiration) = _compute_times(timeout)
+        start, expiration = _compute_times(timeout)
         with the_connection.make_stream(timeout) as stream:  # type: ignore
             stream.send(wire, True)
             wire = stream.receive(_remaining(expiration))
@@ -1563,13 +1561,13 @@ def _inbound_xfr(
         tsig_ctx = None
         r: dns.message.Message | None = None
         while not done:
-            (_, mexpiration) = _compute_times(timeout)
+            _, mexpiration = _compute_times(timeout)
             if mexpiration is None or (
                 expiration is not None and mexpiration > expiration
             ):
                 mexpiration = expiration
             if is_udp:
-                (rwire, _) = _udp_recv(s, 65535, mexpiration)
+                rwire, _ = _udp_recv(s, 65535, mexpiration)
             else:
                 ldata = _net_read(s, 2, mexpiration)
                 (l,) = struct.unpack("!H", ldata)
@@ -1695,11 +1693,11 @@ def xfr(
         rrset.add(soa, 0)
     if keyring is not None:
         q.use_tsig(keyring, keyname, algorithm=keyalgorithm)
-    (af, destination, source) = _destination_and_source(
+    af, destination, source = _destination_and_source(
         where, port, source, source_port, True
     )
     assert af is not None
-    (_, expiration) = _compute_times(lifetime)
+    _, expiration = _compute_times(lifetime)
     tm = DummyTransactionManager(zone, relativize)
     if use_udp and rdtype != dns.rdatatype.IXFR:
         raise ValueError("cannot do a UDP AXFR")
@@ -1757,15 +1755,15 @@ def inbound_xfr(
     Raises on errors.
     """
     if query is None:
-        (query, serial) = dns.xfr.make_query(txn_manager)
+        query, serial = dns.xfr.make_query(txn_manager)
     else:
         serial = dns.xfr.extract_serial_from_query(query)
 
-    (af, destination, source) = _destination_and_source(
+    af, destination, source = _destination_and_source(
         where, port, source, source_port, True
     )
     assert af is not None
-    (_, expiration) = _compute_times(lifetime)
+    _, expiration = _compute_times(lifetime)
     if query.question[0].rdtype == dns.rdatatype.IXFR and udp_mode != UDPMode.NEVER:
         with make_socket(af, socket.SOCK_DGRAM, source) as s:
             _connect(s, destination, expiration)
index 25dcf133dcdefe238e84d041e11611a8efede96a..67b038896334f864ff707f4815f2b5d58715fd41 100644 (file)
@@ -110,7 +110,7 @@ class AsyncioQuicConnection(AsyncQuicConnection):
             self._socket_created.set()
             async with self._socket:
                 while not self._done:
-                    (datagram, address) = await self._socket.recvfrom(
+                    datagram, address = await self._socket.recvfrom(
                         QUIC_MAX_DATAGRAM, None
                     )
                     if address[0] != self._peer[0] or address[1] != self._peer[1]:
@@ -145,7 +145,7 @@ class AsyncioQuicConnection(AsyncQuicConnection):
                 assert address == self._peer
                 assert self._socket is not None
                 await self._socket.sendto(datagram, self._peer, None)
-            (expiration, interval) = self._get_timer_values()
+            expiration, interval = self._get_timer_values()
             try:
                 await asyncio.wait_for(self._wait_for_wake_timer(), interval)
             except Exception:
@@ -254,7 +254,7 @@ class AsyncioQuicManager(AsyncQuicManager):
     def connect(
         self, address, port=853, source=None, source_port=0, want_session_ticket=True
     ):
-        (connection, start) = self._connect(
+        connection, start = self._connect(
             address, port, source, source_port, want_session_ticket
         )
         if start:
index a2a82fe10b649bd0f006d7ed44634836fae7d9b3..ed7be59624f72a9aaa983273f6e0b6c7d275a7f7 100644 (file)
@@ -103,7 +103,7 @@ class SyncQuicConnection(BaseQuicConnection):
                 self._socket.close()
                 raise
         self._socket.connect(self._peer)
-        (self._send_wakeup, self._receive_wakeup) = socket.socketpair()
+        self._send_wakeup, self._receive_wakeup = socket.socketpair()
         self._receive_wakeup.setblocking(False)
         self._socket.setblocking(False)
         self._handshake_complete = threading.Event()
@@ -136,7 +136,7 @@ class SyncQuicConnection(BaseQuicConnection):
                     self._receive_wakeup, selectors.EVENT_READ, self._drain_wakeup
                 )
                 while not self._done:
-                    (expiration, interval) = self._get_timer_values(False)
+                    expiration, interval = self._get_timer_values(False)
                     items = sel.select(interval)
                     for key, _ in items:
                         key.data()
@@ -272,7 +272,7 @@ class SyncQuicManager(BaseQuicManager):
         want_token=True,
     ):
         with self._lock:
-            (connection, start) = self._connect(
+            connection, start = self._connect(
                 address, port, source, source_port, want_session_ticket, want_token
             )
             if start:
index b79f429f90b9376ef28136544979fe98eb1641f4..b4d6eff8fc4bcc087d4c985e1ff67fb34805dc1b 100644 (file)
@@ -99,7 +99,7 @@ class TrioQuicConnection(AsyncQuicConnection):
                 )
             await self._socket.connect(self._peer)
             while not self._done:
-                (expiration, interval) = self._get_timer_values(False)
+                expiration, interval = self._get_timer_values(False)
                 if self._send_pending:
                     # Do not block forever if sends are pending.  Even though we
                     # have a wake-up mechanism if we've already started the blocking
@@ -228,7 +228,7 @@ class TrioQuicManager(AsyncQuicManager):
     def connect(
         self, address, port=853, source=None, source_port=0, want_session_ticket=True
     ):
-        (connection, start) = self._connect(
+        connection, start = self._connect(
             address, port, source, source_port, want_session_ticket
         )
         if start:
index dc9fa87708f53ddc292bc6fe819306e5b3e21341..b3096347e33bd1580692dd92dd2006994d23445e 100644 (file)
@@ -80,7 +80,7 @@ class AMTRELAY(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (precedence, relay_type) = parser.get_struct("!BB")
+        precedence, relay_type = parser.get_struct("!BB")
         discovery_optional = bool(relay_type >> 7)
         relay_type &= 0x7F
         relay = Relay.from_wire_parser(relay_type, parser, origin)
index 4d5e5bda192c55cdb7e3e6095e29dd2de4176780..c34febcfd3f481c114a8efe766b8ebb7138b564d 100644 (file)
@@ -108,6 +108,6 @@ class CERT(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (certificate_type, key_tag, algorithm) = parser.get_struct("!HHB")
+        certificate_type, key_tag, algorithm = parser.get_struct("!HHB")
         certificate = parser.get_remaining()
         return cls(rdclass, rdtype, certificate_type, key_tag, algorithm, certificate)
index 103486d8341ce21e2b98c4f0da88cc9b74b39758..36d80759928206370b7fbdde7a0f065ffcd529ca 100644 (file)
@@ -63,6 +63,6 @@ class CSYNC(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (serial, flags) = parser.get_struct("!IH")
+        serial, flags = parser.get_struct("!IH")
         bitmap = Bitmap.from_wire_parser(parser)
         return cls(rdclass, rdtype, serial, flags, bitmap)
index e8d1394afe48dad9613c77d1fb4f7d1ea113ae67..41ce0888c807c1c71494053d384d8f0135a17501 100644 (file)
@@ -67,6 +67,6 @@ class DSYNC(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (rrtype, scheme, port) = parser.get_struct("!HBH")
+        rrtype, scheme, port = parser.get_struct("!HBH")
         target = parser.get_name(origin)
         return cls(rdclass, rdtype, rrtype, scheme, port, target)
index d79f4a0669bb5a6afda6e8621c290d45a932a2d9..f2248ab6f732eecaf4ded41a50fb3833a400c887 100644 (file)
@@ -31,7 +31,7 @@ def _validate_float_string(what):
     if what.isdigit():
         return
     try:
-        (left, right) = what.split(b".")
+        left, right = what.split(b".")
     except ValueError:
         raise dns.exception.FormError
     if left == b"" and right == b"":
index dc7948a1f5c7e180a9b6ca1715cbb1c2fc3bcba2..d31d633406b4b8646641339f25ade34abb0435e9 100644 (file)
@@ -75,7 +75,7 @@ class HIP(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (lh, algorithm, lk) = parser.get_struct("!BBH")
+        lh, algorithm, lk = parser.get_struct("!BBH")
         hit = parser.get_bytes(lh)
         key = parser.get_bytes(lk)
         servers = []
index 9b0df1c7a9f2723b316bb7ecca743b54a59f444f..7e4945d9723053b537afb8c00ad119ee836ce51a 100644 (file)
@@ -23,7 +23,6 @@ import dns.immutable
 import dns.rdtypes.dnskeybase  # lgtm[py/import-and-import-from]
 
 
-
 class Protocol(dns.enum.IntEnum):
     NONE = 0
     TLS = 1
index 6c7fe5e792d1889dec6cb1dcb325f5a19fc4e4d3..227a257fa932dfbffa7178b03af15e663bf880ed 100644 (file)
@@ -200,7 +200,7 @@ class LOC(dns.rdata.Rdata):
             latitude[1] = int(t)
             t = tok.get_string()
             if "." in t:
-                (seconds, milliseconds) = t.split(".")
+                seconds, milliseconds = t.split(".")
                 if not seconds.isdigit():
                     raise dns.exception.SyntaxError("bad latitude seconds value")
                 latitude[2] = int(seconds)
@@ -229,7 +229,7 @@ class LOC(dns.rdata.Rdata):
             longitude[1] = int(t)
             t = tok.get_string()
             if "." in t:
-                (seconds, milliseconds) = t.split(".")
+                seconds, milliseconds = t.split(".")
                 if not seconds.isdigit():
                     raise dns.exception.SyntaxError("bad longitude seconds value")
                 longitude[2] = int(seconds)
index 6899418760bf561c2a1217535c751378f9f87eb2..cd1d9d98ce20cf73eead9458fab4724ffadac5bf 100644 (file)
@@ -110,7 +110,7 @@ class NSEC3(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (algorithm, flags, iterations) = parser.get_struct("!BBH")
+        algorithm, flags, iterations = parser.get_struct("!BBH")
         salt = parser.get_counted_bytes()
         next = parser.get_counted_bytes()
         bitmap = Bitmap.from_wire_parser(parser)
index e8678722c992ecc23670e11eb14d20c0a49274d6..3ab90ee2cd1f603d1ac10e698ba637653fd218d7 100644 (file)
@@ -64,6 +64,6 @@ class NSEC3PARAM(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (algorithm, flags, iterations) = parser.get_struct("!BBH")
+        algorithm, flags, iterations = parser.get_struct("!BBH")
         salt = parser.get_counted_bytes()
         return cls(rdclass, rdtype, algorithm, flags, iterations, salt)
index d343dfa5df8ca286a049bdb7665bbc32852e2de9..94583cedbac4e71cffda15fd9b1bd3f255899ec7 100644 (file)
@@ -65,7 +65,7 @@ class OPT(dns.rdata.Rdata):
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
         options = []
         while parser.remaining() > 0:
-            (otype, olen) = parser.get_struct("!HH")
+            otype, olen = parser.get_struct("!HH")
             with parser.restrict_to(olen):
                 opt = dns.edns.option_from_wire_parser(otype, parser)
             options.append(opt)
index 794238264db85d48629d16a651776bdaca0409b1..c375e0a770722f5185fa7f36bf9575cbcf0567bd 100644 (file)
@@ -145,7 +145,7 @@ class TSIG(dns.rdata.Rdata):
         time_signed = parser.get_uint48()
         fudge = parser.get_uint16()
         mac = parser.get_counted_bytes(2)
-        (original_id, error) = parser.get_struct("!HH")
+        original_id, error = parser.get_struct("!HH")
         other = parser.get_counted_bytes(2)
         return cls(
             rdclass,
index 021391d68d9808178af0440e8f38762d04c5ea8b..1943e58dc305ec7cedf2e984b7e8a4b68a2d1168 100644 (file)
@@ -62,7 +62,7 @@ class URI(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (priority, weight) = parser.get_struct("!HH")
+        priority, weight = parser.get_struct("!HH")
         target = parser.get_remaining()
         if len(target) == 0:
             raise dns.exception.FormError("URI target may not be empty")
index c4ce6e4588e0c02c6e074dbd20f5418af60daf66..daa1e5f90d6ce4ac1f6251b3dbebb7a840dbaec6 100644 (file)
@@ -107,9 +107,9 @@ class APL(dns.rdata.Rdata):
                 item = item[1:]
             else:
                 negation = False
-            (family, rest) = item.split(":", 1)
+            family, rest = item.split(":", 1)
             family = int(family)
-            (address, prefix) = rest.split("/", 1)
+            address, prefix = rest.split("/", 1)
             prefix = int(prefix)
             item = APLItem(family, negation, address, prefix)
             items.append(item)
index 98bbf4abac2da37e8788b3d0c87bbef29eaec54a..866a016eac9a0a38f9186367bd0fbee830e69f2a 100644 (file)
@@ -84,7 +84,7 @@ class NAPTR(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (order, preference) = parser.get_struct("!HH")
+        order, preference = parser.get_struct("!HH")
         strings = []
         for _ in range(3):
             s = parser.get_counted_bytes()
index 044c10e3a4b3150d217f1ac89f4c0af77edd69e8..50f697653e6b78d91cce0c6ce37471d4face299d 100644 (file)
@@ -60,7 +60,7 @@ class SRV(dns.rdata.Rdata):
 
     @classmethod
     def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
-        (priority, weight, port) = parser.get_struct("!HHH")
+        priority, weight, port = parser.get_struct("!HHH")
         target = parser.get_name(origin)
         return cls(rdclass, rdtype, priority, weight, port, target)
 
index bf7570f03f04fd8b48313f36f75d500efd7ed0bf..f06d31ada87ddab9f11a11207a27e294f2d778ad 100644 (file)
@@ -440,7 +440,7 @@ _class_for_key: dict[ParamKey, Any] = {
 
 
 def _validate_and_define(params, key, value):
-    (key, force_generic) = _validate_key(_unescape(key))
+    key, force_generic = _validate_key(_unescape(key))
     if key in params:
         raise SyntaxError(f'duplicate key "{key:d}"')
     cls = _class_for_key.get(key, GenericParam)
index 1e54df0264ca0b17cab9969e7cbc165df11d08d9..bd1b388e384ff820418844debea437807f9c46d8 100644 (file)
@@ -261,7 +261,7 @@ class Renderer:
         tsig = _make_tsig(  # pyright: ignore
             keyname, algorithm, 0, fudge, b"", id, tsig_error, other_data
         )
-        (tsig, _) = dns.tsig.sign(s, key, tsig[0], int(time.time()), request_mac)
+        tsig, _ = dns.tsig.sign(s, key, tsig[0], int(time.time()), request_mac)
         self._write_tsig(tsig, keyname)
 
     def add_multi_tsig(
@@ -293,7 +293,7 @@ class Renderer:
         tsig = _make_tsig(  # pyright: ignore
             keyname, algorithm, 0, fudge, b"", id, tsig_error, other_data
         )
-        (tsig, ctx) = dns.tsig.sign(
+        tsig, ctx = dns.tsig.sign(
             s, key, tsig[0], int(time.time()), request_mac, ctx, True
         )
         self._write_tsig(tsig, keyname)
index 9d8d1eede880cd8f52dd4f74e9fd486e3d7429cf..849d67e60c23a11d3550e2388d0bbc732dd2d7ff 100644 (file)
@@ -1313,7 +1313,7 @@ class Resolver(BaseResolver):
         )
         start = time.time()
         while True:
-            (request, answer) = resolution.next_request()
+            request, answer = resolution.next_request()
             # Note we need to say "if answer is not None" and not just
             # "if answer" because answer implements __len__, and python
             # will call that.  We want to return if we have an answer
@@ -1324,7 +1324,7 @@ class Resolver(BaseResolver):
             assert request is not None  # needed for type checking
             done = False
             while not done:
-                (nameserver, tcp, backoff) = resolution.next_nameserver()
+                nameserver, tcp, backoff = resolution.next_nameserver()
                 if backoff:
                     time.sleep(backoff)
                 timeout = self._compute_timeout(start, lifetime, resolution.errors)
@@ -1337,9 +1337,9 @@ class Resolver(BaseResolver):
                         max_size=tcp,
                     )
                 except Exception as ex:
-                    (_, done) = resolution.query_result(None, ex)
+                    _, done = resolution.query_result(None, ex)
                     continue
-                (answer, done) = resolution.query_result(response, None)
+                answer, done = resolution.query_result(response, None)
                 # Note we need to say "if answer is not None" and not just
                 # "if answer" because answer implements __len__, and python
                 # will call that.  We want to return if we have an answer
@@ -1727,7 +1727,7 @@ def zone_for_name(
             if response:
                 for rrs in response.authority:
                     if rrs.rdtype == dns.rdatatype.SOA and rrs.rdclass == rdclass:
-                        (nr, _, _) = rrs.name.fullcompare(name)
+                        nr, _, _ = rrs.name.fullcompare(name)
                         if nr == dns.name.NAMERELN_SUPERDOMAIN:
                             # We're doing a proper superdomain check as
                             # if the name were equal we ought to have gotten
@@ -1973,7 +1973,7 @@ def _getfqdn(name=None):
     if name is None:
         name = socket.gethostname()
     try:
-        (name, _, _) = _gethostbyaddr(name)
+        name, _, _ = _gethostbyaddr(name)
         # Python's version checks aliases too, but our gethostbyname
         # ignores them, so we do so here as well.
     except Exception:  # pragma: no cover
@@ -2010,7 +2010,7 @@ def _gethostbyaddr(ip):
             raise socket.gaierror(socket.EAI_NONAME, "Name or service not known")
         sockaddr = (ip, 80)
         family = socket.AF_INET
-    (name, _) = _getnameinfo(sockaddr, socket.NI_NAMEREQD)
+    name, _ = _getnameinfo(sockaddr, socket.NI_NAMEREQD)
     aliases = []
     addresses = []
     tuples = _getaddrinfo(
index a9a00913aa47b1f3f5146ee6807e54aba4f91d59..40982b5fdfa45050d1cb7568d746d33ba52c8055 100644 (file)
@@ -171,7 +171,7 @@ class RRset(dns.rdataset.Rdataset):
         """
 
         return super().to_wire(
-            self.name, file, compress, origin, self.deleting, **kw  # type:ignore
+            self.name, file, compress, origin, self.deleting, **kw  # type: ignore
         )
 
     # pylint: enable=arguments-differ
index 140efb96cd6ba7ce5a8fcbd48af58f7d06109e20..9db0bf610dc4ea9647ab4ca4ff929031af843d1f 100644 (file)
@@ -67,7 +67,7 @@ class Set:
 
     def pop(self):
         """Remove an arbitrary item from the set."""
-        (k, _) = self.items.popitem()
+        k, _ = self.items.popitem()
         return k
 
     def _clone(self) -> "Set":
index 96a36b01c71c65c210b276e6b80bcf88cedbcb6d..9b0c254a49d7ed31e359e24fbe275b125becaceb 100644 (file)
@@ -64,7 +64,7 @@ class TransactionManager:
 
     def from_wire_origin(self) -> dns.name.Name | None:
         """Origin to use in from_wire() calls."""
-        (absolute_origin, relativize, _) = self.origin_information()
+        absolute_origin, relativize, _ = self.origin_information()
         if relativize:
             return absolute_origin
         else:
@@ -444,7 +444,7 @@ class Transaction:
             if rdataset.rdclass != self.manager.get_class():
                 raise ValueError(f"{method} has objects of wrong RdataClass")
             if rdataset.rdtype == dns.rdatatype.SOA:
-                (_, _, origin) = self._origin_information()
+                _, _, origin = self._origin_information()
                 if name != origin:
                     raise ValueError(f"{method} has non-origin SOA")
             self._raise_if_not_empty(method, args)
index 0de4f60123fd839a555a859e4efc20a681668186..d4f2dcbf899cc078a285a51f84c12ffc03a98c62 100644 (file)
@@ -37,7 +37,7 @@ def from_text(textring: dict[str, Any]) -> dict[dns.name.Name, Any]:
         if isinstance(value, str):
             keyring[kname] = dns.tsig.Key(kname, value).secret
         else:
-            (algorithm, secret) = value
+            algorithm, secret = value
             keyring[kname] = dns.tsig.Key(kname, secret, algorithm)
     return keyring
 
index b0ea29d458bf72ee9731ef39deab7b7f2d00d45a..20852f7839da07efcf148399a4aa6763e0624bc4 100644 (file)
@@ -164,9 +164,7 @@ if sys.platform == "win32":
 
                 try:
                     # The PnpInstanceID points to a key inside Enum
-                    (pnp_id, ttype) = winreg.QueryValueEx(
-                        connection_key, "PnpInstanceID"
-                    )
+                    pnp_id, ttype = winreg.QueryValueEx(connection_key, "PnpInstanceID")
 
                     if ttype != winreg.REG_SZ:
                         raise ValueError  # pragma: no cover
@@ -177,7 +175,7 @@ if sys.platform == "win32":
 
                     try:
                         # Get ConfigFlags for this device
-                        (flags, ttype) = winreg.QueryValueEx(device_key, "ConfigFlags")
+                        flags, ttype = winreg.QueryValueEx(device_key, "ConfigFlags")
 
                         if ttype != winreg.REG_DWORD:
                             raise ValueError  # pragma: no cover
index aa90420774fb52d1fb69bd297d6856f88758e010..0f4c7f36c87acd1ee63597160fcfa78a4670d4c0 100644 (file)
@@ -89,7 +89,7 @@ class Inbound:
             raise ValueError("rdtype is not IXFR or AXFR")
         self.serial = serial
         self.is_udp = is_udp
-        (_, _, origin) = txn_manager.origin_information()
+        _, _, origin = txn_manager.origin_information()
         if origin is None:
             raise ValueError("transaction manager must supply an origin for XFRs")
         self.origin = origin
@@ -295,7 +295,7 @@ def make_query(
 
     Returns a `(query, serial)` tuple.
     """
-    (zone_origin, _, origin) = txn_manager.origin_information()
+    zone_origin, _, origin = txn_manager.origin_information()
     if zone_origin is None:
         raise ValueError("no zone origin")
     if serial is None:
index a7e71ee0ea95a7b66b19dfbd7141ea5a1c4bb198..b2708fc65a74fb39b9c8e441a80ba9dc05519629 100644 (file)
@@ -1201,7 +1201,7 @@ class Transaction(dns.transaction.Transaction):
         self,
     ) -> tuple[dns.name.Name | None, bool, dns.name.Name | None]:
         assert self.version is not None
-        (absolute, relativize, effective) = self.manager.origin_information()
+        absolute, relativize, effective = self.manager.origin_information()
         if absolute is None and self.version.origin is not None:
             # No origin has been committed yet, but we've learned one as part of
             # this txn.  Use it.
index 5822b7491aa401071fb3b38243217251c5c689e1..590e79a134b6c8d93b6cf1937915368211d01c79 100644 (file)
@@ -103,7 +103,7 @@ class Reader:
         default_ttl: int | None = None,
     ):
         self.tok = tok
-        (self.zone_origin, self.relativize, _) = txn.manager.origin_information()
+        self.zone_origin, self.relativize, _ = txn.manager.origin_information()
         self.current_origin = self.zone_origin
         self.last_ttl = 0
         self.last_ttl_known = False
@@ -252,7 +252,7 @@ class Reader:
             # correct, but it is correct almost all of the time.
             # We convert them to syntax errors so that we can emit
             # helpful filename:line info.
-            (ty, va) = sys.exc_info()[:2]
+            ty, va = sys.exc_info()[:2]
             raise dns.exception.SyntaxError(f"caught exception {str(ty)}: {str(va)}")
 
         if not self.default_ttl_known and rdtype == dns.rdatatype.SOA:
@@ -451,7 +451,7 @@ class Reader:
                 # correct, but it is correct almost all of the time.
                 # We convert them to syntax errors so that we can emit
                 # helpful filename:line info.
-                (ty, va) = sys.exc_info()[:2]
+                ty, va = sys.exc_info()[:2]
                 raise dns.exception.SyntaxError(
                     f"caught exception {str(ty)}: {str(va)}"
                 )
@@ -549,7 +549,7 @@ class Reader:
                 self.tok.unget(token)
                 self._rr_line()
         except dns.exception.SyntaxError as detail:
-            (filename, line_number) = self.tok.where()
+            filename, line_number = self.tok.where()
             if detail is None:
                 detail = "syntax error"
             ex = dns.exception.SyntaxError(f"{filename}:{line_number}: {detail}")
index 4bd99b14a904747030beb341952317e9b8d7d672..ec4c405f4417e3573b5afdba9a4ee50082a91ad5 100644 (file)
@@ -20,7 +20,6 @@ import dns.rdatatype
 import dns.tsigkeyring
 import dns.update
 
-
 KEYRING = dns.tsigkeyring.from_text({"keyname.": "NjHwPsMKjdN++dOfE5iAiQ=="})
 
 TEST_ZONES = {
@@ -41,11 +40,15 @@ async def handle_nsupdate(data, addr):
     msg = dns.message.from_wire(data, keyring=KEYRING)
     try:
         if msg.opcode() != dns.opcode.UPDATE:
-            raise NotImplementedError("Opcode %s not implemented" % dns.opcode.to_text(msg.opcode()))
+            raise NotImplementedError(
+                "Opcode %s not implemented" % dns.opcode.to_text(msg.opcode())
+            )
         update_msg = typing.cast(dns.update.UpdateMessage, msg)
         zone = update_msg.zone[0].name
         if not msg.had_tsig or msg.keyname not in TEST_ZONES[zone]:
-            raise dns.exception.DeniedByPolicy(f"Key {msg.keyname} not allowed for zone {zone}")
+            raise dns.exception.DeniedByPolicy(
+                f"Key {msg.keyname} not allowed for zone {zone}"
+            )
         for r in update_msg.update:
             if r.deleting:
                 if r.deleting == dns.rdataclass.ANY and r.rdtype == dns.rdatatype.ANY:
@@ -91,7 +94,9 @@ async def main():
             result = await handle_nsupdate(data, addr)
             self.transport.sendto(result, addr)
 
-    transport, _protocol = await loop.create_datagram_endpoint(lambda: DatagramProtocol(), local_addr=(hostname, port))
+    transport, _protocol = await loop.create_datagram_endpoint(
+        lambda: DatagramProtocol(), local_addr=(hostname, port)
+    )
 
     # Start TCP server
     class StreamReaderProtocol(asyncio.StreamReaderProtocol):
index 0ffb9430a16f5321f4ad2fdf00a31f2a52b3679c..ade3bf37b6a3817019b74d04d929f2565e9d304e 100644 (file)
@@ -18,7 +18,7 @@ port = 53535
 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
 s.bind((address, port))
 while True:
-    (wire, address) = s.recvfrom(512)
+    wire, address = s.recvfrom(512)
     notify = dns.message.from_wire(wire)
 
     try:
index 9cbdb664c15519144bdcd1fb8f8cb2374f66033b..bb6ec3f46a06706227ff1ead35bee31ca33e8abb 100755 (executable)
@@ -2,6 +2,7 @@
 """
 Minimalistic RFC 1996-like NOTIFY sender.
 """
+
 import argparse
 import ipaddress
 import socket
index 751fbe7d0c8df656d107fa48bada4e9057e2181f..b715046d83b8dc62059b9072fefd4b0ab875481c 100644 (file)
@@ -31,7 +31,7 @@ version = "2.9.0dev0"
 
 [project.optional-dependencies]
 dev = [
-    "black>=25.12.0",
+    "black>=26.1",
     "coverage>=7.0",
     "hypercorn>=0.18.0",
     "pyright>=1.1.407",
index 8a44663b5d7e4d93d59596be935918517e37c882..bbc5ef572c7c3874546d7f268c3e91eee12e33ea 100644 (file)
@@ -177,7 +177,7 @@ class Connection:
             async with trio.open_nursery() as nursery:
                 while not self.done:
                     now = time.time()
-                    (expiration, interval) = self.get_timer_values(now)
+                    expiration, interval = self.get_timer_values(now)
                     # Note it must be trio.current_time() and not now due to how
                     # trio time works!
                     if self.send_pending:
@@ -186,7 +186,7 @@ class Connection:
                     with trio.CancelScope(
                         deadline=trio.current_time() + interval
                     ) as self.worker_scope:
-                        (datagram, peer) = await self.receive_channel.receive()
+                        datagram, peer = await self.receive_channel.receive()
                         self.quic_connection.receive_datagram(datagram, peer, now)
                     self.worker_scope = None
                     now = time.time()
@@ -277,7 +277,7 @@ class Listener:
                 data = None
                 peer = None
                 try:
-                    (data, peer) = await self.socket.recvfrom(65535)
+                    data, peer = await self.socket.recvfrom(65535)
                 except Exception:
                     continue
                 buffer = aioquic.buffer.Buffer(data=data)
@@ -327,7 +327,7 @@ class Listener:
                             continue
                         else:
                             try:
-                                (cid, retry_cid) = self.retry.validate_token(
+                                cid, retry_cid = self.retry.validate_token(
                                     peer, header.token
                                 )
                                 # We need to recheck the cid here in case of duplicates,
index 2727e42a84e5a8b280520285568c5bc13e833949..6357321631979bde6444f1fed266a1f1a8a81276 100644 (file)
@@ -197,7 +197,7 @@ class Server(threading.Thread):
                 udp_socket.close()
 
     def __enter__(self):
-        (self.left, self.right) = socket.socketpair()
+        self.left, self.right = socket.socketpair()
         # We're making the sockets now so they can be sent to by the
         # caller immediately (i.e. no race with the listener starting
         # in the thread).
@@ -318,7 +318,7 @@ class Server(threading.Thread):
             local = self.addresses[connection_type]
             while True:
                 try:
-                    (wire, peer) = await sock.recvfrom(65535)
+                    wire, peer = await sock.recvfrom(65535)
                     for wire in self.handle_wire(wire, peer, local, connection_type):
                         await sock.sendto(wire, peer)
                 except Exception as e:
index 9a19609cf84186779ba1ce3d25f5faf931bf263e..0ec72fe32ec06c927f53429c3f68cf8c362fd2f2 100644 (file)
@@ -499,7 +499,7 @@ class AsyncTests(unittest.TestCase):
                 q = dns.message.make_query(qname, dns.rdatatype.DNSKEY)
                 return await dns.asyncquery.udp_with_fallback(q, address, timeout=4)
 
-            (_, tcp) = self.async_run(run)
+            _, tcp = self.async_run(run)
             self.assertTrue(tcp)
 
     @tests.util.retry_on_timeout
@@ -511,7 +511,7 @@ class AsyncTests(unittest.TestCase):
                 q = dns.message.make_query(qname, dns.rdatatype.A)
                 return await dns.asyncquery.udp_with_fallback(q, address, timeout=2)
 
-            (_, tcp) = self.async_run(run)
+            _, tcp = self.async_run(run)
             self.assertFalse(tcp)
 
     @tests.util.retry_on_timeout
@@ -528,12 +528,12 @@ class AsyncTests(unittest.TestCase):
                     q = dns.message.make_query("dns.google", dns.rdatatype.A)
                     await dns.asyncquery.send_udp(sender, q, listener_address)
                     expiration = time.time() + 2
-                    (_, _, recv_address) = await dns.asyncquery.receive_udp(
+                    _, _, recv_address = await dns.asyncquery.receive_udp(
                         listener, expiration=expiration
                     )
                     return (sender_address, recv_address)
 
-        (sender_address, recv_address) = self.async_run(run)
+        sender_address, recv_address = self.async_run(run)
         self.assertEqual(sender_address, recv_address)
 
     def testUDPReceiveTimeout(self):
@@ -795,7 +795,7 @@ class IgnoreErrors(unittest.TestCase):
         if good_r is None:
             good_r = self.good_r
         s = MockSock(wire1, from1, wire2, from2)
-        (r, when, _) = await dns.asyncquery.receive_udp(
+        r, when, _ = await dns.asyncquery.receive_udp(
             s,
             ("127.0.0.1", 53),
             time.time() + 2,
@@ -867,7 +867,7 @@ class IgnoreErrors(unittest.TestCase):
         bad_r_wire = bad_r.to_wire()
 
         async def abad():
-            (r, wire) = await self.mock_receive(
+            r, wire = await self.mock_receive(
                 bad_r_wire,
                 ("127.0.0.1", 53),
                 self.good_r_wire,
index 75f22583fc5f19ac4482cf22c3bbfdb0330f1a78..7a6baf8bc8e84bc4254f8bd0e91d3342655624f1 100644 (file)
@@ -28,7 +28,6 @@ import dns.rdatatype
 import dns.rrset
 import dns.zone
 
-
 example_text = """$TTL 1h
 $ORIGIN 0.0.192.IN-ADDR.ARPA.
 $GENERATE 1-2 0 CNAME SERVER$.EXAMPLE.
index 1d592657145eab717f3a6b1bf212b592701cedc0..0eee2a2ecb6734f8da08294df0defff0df4f9bf6 100644 (file)
@@ -686,15 +686,13 @@ class MessageTestCase(unittest.TestCase):
             r.resolve_chaining()
 
     def test_resolve_chaining_no_infinite_loop(self):
-        r = dns.message.from_text(
-            """id 1
+        r = dns.message.from_text("""id 1
 flags QR
 ;QUESTION
 www.example. IN CNAME
 ;AUTHORITY
 example. 300 IN SOA . . 1 2 3 4 5
-"""
-        )
+""")
         # passing is not going into an infinite loop in this call
         result = r.resolve_chaining()
         self.assertEqual(result.canonical_name, dns.name.from_text("www.example."))
@@ -703,144 +701,114 @@ example. 300 IN SOA . . 1 2 3 4 5
 
     def test_bad_text_questions(self):
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 ;QUESTION
 example.
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 ;QUESTION
 example. IN
-"""
-            )
+""")
         with self.assertRaises(dns.rdatatype.UnknownRdatatype):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 ;QUESTION
 example. INA
-"""
-            )
+""")
         with self.assertRaises(dns.rdatatype.UnknownRdatatype):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 ;QUESTION
 example. IN BOGUS
-"""
-            )
+""")
 
     def test_bad_text_rrs(self):
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;QUESTION
 example. IN A
 ;ANSWER
 example.
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;QUESTION
 example. IN A
 ;ANSWER
 example. IN
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;QUESTION
 example. IN A
 ;ANSWER
 example. 300
-"""
-            )
+""")
         with self.assertRaises(dns.rdatatype.UnknownRdatatype):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;QUESTION
 example. IN A
 ;ANSWER
 example. 30a IN A
-"""
-            )
+""")
         with self.assertRaises(dns.rdatatype.UnknownRdatatype):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;QUESTION
 example. IN A
 ;ANSWER
 example. 300 INA A
-"""
-            )
+""")
         with self.assertRaises(dns.exception.UnexpectedEnd):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;QUESTION
 example. IN A
 ;ANSWER
 example. 300 IN A
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 opcode UPDATE
 ;ZONE
 example. IN SOA
 ;UPDATE
 example. 300 IN A
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 opcode UPDATE
 ;ZONE
 example. IN SOA
 ;UPDATE
 example. 300 NONE A
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 opcode UPDATE
 ;ZONE
 example. IN SOA
 ;PREREQ
 example. 300 NONE A 10.0.0.1
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;ANSWER
             300 IN A 10.0.0.1
-"""
-            )
+""")
         with self.assertRaises(dns.exception.SyntaxError):
-            dns.message.from_text(
-                """id 1
+            dns.message.from_text("""id 1
 flags QR
 ;QUESTION
             IN SOA
-"""
-            )
+""")
 
     def test_from_wire_makes_Flag(self):
         m = dns.message.from_wire(goodwire)
@@ -848,8 +816,7 @@ flags QR
         self.assertEqual(m.flags, dns.flags.Flag.RD)
 
     def test_continue_on_error(self):
-        good_message = dns.message.from_text(
-            """id 1234
+        good_message = dns.message.from_text("""id 1234
 opcode QUERY
 rcode NOERROR
 flags QR AA RD
@@ -859,8 +826,7 @@ www.dnspython.org. IN SOA
 www.dnspython.org. 300 IN SOA . . 1 2 3 4 4294967295
 www.dnspython.org. 300 IN A 1.2.3.4
 www.dnspython.org. 300 IN AAAA ::1
-"""
-        )
+""")
         wire = good_message.to_wire()
         # change ANCOUNT to 255
         bad_wire = wire[:6] + b"\x00\xff" + wire[8:]
@@ -871,8 +837,7 @@ www.dnspython.org. 300 IN AAAA ::1
         print(m.errors)
         self.assertEqual(str(m.errors[0].exception), "IPv6 addresses are 16 bytes long")
         self.assertEqual(str(m.errors[1].exception), "DNS message is malformed.")
-        expected_message = dns.message.from_text(
-            """id 1234
+        expected_message = dns.message.from_text("""id 1234
 opcode QUERY
 rcode NOERROR
 flags QR AA RD
@@ -881,8 +846,7 @@ www.dnspython.org. IN SOA
 ;ANSWER
 www.dnspython.org. 300 IN SOA . . 1 2 3 4 4294967295
 www.dnspython.org. 300 IN A 1.2.3.4
-"""
-        )
+""")
         self.assertEqual(m, expected_message)
 
     def test_padding_basic(self):
index 67d02dbbe762ec6053c351d7631d793897dd3246..0addb821791717b472cfed5bc1595fbe1d66cef0 100644 (file)
@@ -549,7 +549,7 @@ class NameTestCase(unittest.TestCase):
 
     def testSplit1(self):
         n = dns.name.from_text("foo.bar.")
-        (prefix, suffix) = n.split(2)
+        prefix, suffix = n.split(2)
         ep = dns.name.from_text("foo", None)
         es = dns.name.from_text("bar.", None)
         self.assertEqual(prefix, ep)
@@ -557,7 +557,7 @@ class NameTestCase(unittest.TestCase):
 
     def testSplit2(self):
         n = dns.name.from_text("foo.bar.")
-        (prefix, suffix) = n.split(1)
+        prefix, suffix = n.split(1)
         ep = dns.name.from_text("foo.bar", None)
         es = dns.name.from_text(".", None)
         self.assertEqual(prefix, ep)
@@ -565,7 +565,7 @@ class NameTestCase(unittest.TestCase):
 
     def testSplit3(self):
         n = dns.name.from_text("foo.bar.")
-        (prefix, suffix) = n.split(0)
+        prefix, suffix = n.split(0)
         ep = dns.name.from_text("foo.bar.", None)
         es = dns.name.from_text("", None)
         self.assertEqual(prefix, ep)
@@ -573,7 +573,7 @@ class NameTestCase(unittest.TestCase):
 
     def testSplit4(self):
         n = dns.name.from_text("foo.bar.")
-        (prefix, suffix) = n.split(3)
+        prefix, suffix = n.split(3)
         ep = dns.name.from_text("", None)
         es = dns.name.from_text("foo.bar.", None)
         self.assertEqual(prefix, ep)
@@ -679,8 +679,8 @@ class NameTestCase(unittest.TestCase):
 
     def testFromWire1(self):
         w = b"\x03foo\x00\xc0\x00"
-        (n1, cused1) = dns.name.from_wire(w, 0)
-        (n2, cused2) = dns.name.from_wire(w, cused1)
+        n1, cused1 = dns.name.from_wire(w, 0)
+        n2, cused2 = dns.name.from_wire(w, cused1)
         en1 = dns.name.from_text("foo.")
         en2 = en1
         ecused1 = 5
@@ -693,11 +693,11 @@ class NameTestCase(unittest.TestCase):
     def testFromWire2(self):
         w = b"\x03foo\x00\x01a\xc0\x00\x01b\xc0\x05"
         current = 0
-        (n1, cused1) = dns.name.from_wire(w, current)
+        n1, cused1 = dns.name.from_wire(w, current)
         current += cused1
-        (n2, cused2) = dns.name.from_wire(w, current)
+        n2, cused2 = dns.name.from_wire(w, current)
         current += cused2
-        (n3, cused3) = dns.name.from_wire(w, current)
+        n3, cused3 = dns.name.from_wire(w, current)
         en1 = dns.name.from_text("foo.")
         en2 = dns.name.from_text("a.foo.")
         en3 = dns.name.from_text("b.a.foo.")
index e6b388a0e2b07292f60841f481476e55bd9b0828..a94c87881f8b3e1fe34bbdc17850c433ce27c5e0 100644 (file)
@@ -219,7 +219,7 @@ class QueryTests(unittest.TestCase):
         for address in query_addresses:
             qname = dns.name.from_text(".")
             q = dns.message.make_query(qname, dns.rdatatype.DNSKEY)
-            (_, tcp) = dns.query.udp_with_fallback(q, address, timeout=4)
+            _, tcp = dns.query.udp_with_fallback(q, address, timeout=4)
             self.assertTrue(tcp)
 
     @tests.util.retry_on_timeout
@@ -235,7 +235,7 @@ class QueryTests(unittest.TestCase):
                     tcp_s.setblocking(0)
                     qname = dns.name.from_text(".")
                     q = dns.message.make_query(qname, dns.rdatatype.DNSKEY)
-                    (_, tcp) = dns.query.udp_with_fallback(
+                    _, tcp = dns.query.udp_with_fallback(
                         q, address, udp_sock=udp_s, tcp_sock=tcp_s, timeout=4
                     )
                     self.assertTrue(tcp)
@@ -245,7 +245,7 @@ class QueryTests(unittest.TestCase):
         for address in query_addresses:
             qname = dns.name.from_text("dns.google.")
             q = dns.message.make_query(qname, dns.rdatatype.A)
-            (_, tcp) = dns.query.udp_with_fallback(q, address, timeout=2)
+            _, tcp = dns.query.udp_with_fallback(q, address, timeout=2)
             self.assertFalse(tcp)
 
     @tests.util.retry_on_timeout
@@ -257,7 +257,7 @@ class QueryTests(unittest.TestCase):
                 q = dns.message.make_query("dns.google", dns.rdatatype.A)
                 dns.query.send_udp(sender, q, listener.getsockname())
                 expiration = time.time() + 2
-                (q, _, addr) = dns.query.receive_udp(listener, expiration=expiration)
+                q, _, addr = dns.query.receive_udp(listener, expiration=expiration)
                 self.assertEqual(addr, sender.getsockname())
 
 
@@ -267,45 +267,45 @@ _d_and_s = dns.query._destination_and_source
 
 class DestinationAndSourceTests(unittest.TestCase):
     def test_af_inferred_from_where(self):
-        (af, d, s) = _d_and_s("1.2.3.4", 53, None, 0)
+        af, d, s = _d_and_s("1.2.3.4", 53, None, 0)
         self.assertEqual(af, socket.AF_INET)
 
     def test_af_inferred_from_where(self):
-        (af, d, s) = _d_and_s("1::2", 53, None, 0)
+        af, d, s = _d_and_s("1::2", 53, None, 0)
         self.assertEqual(af, socket.AF_INET6)
 
     def test_af_inferred_from_source(self):
-        (af, d, s) = _d_and_s("https://example/dns-query", 443, "1.2.3.4", 0, False)
+        af, d, s = _d_and_s("https://example/dns-query", 443, "1.2.3.4", 0, False)
         self.assertEqual(af, socket.AF_INET)
 
     def test_af_mismatch(self):
         def bad():
-            (af, d, s) = _d_and_s("1::2", 53, "1.2.3.4", 0)
+            af, d, s = _d_and_s("1::2", 53, "1.2.3.4", 0)
 
         self.assertRaises(ValueError, bad)
 
     def test_source_port_but_no_af_inferred(self):
         def bad():
-            (af, d, s) = _d_and_s("https://example/dns-query", 443, None, 12345, False)
+            af, d, s = _d_and_s("https://example/dns-query", 443, None, 12345, False)
 
         self.assertRaises(ValueError, bad)
 
     def test_where_must_be_an_address(self):
         def bad():
-            (af, d, s) = _d_and_s("not a valid address", 53, "1.2.3.4", 0)
+            af, d, s = _d_and_s("not a valid address", 53, "1.2.3.4", 0)
 
         self.assertRaises(ValueError, bad)
 
     def test_destination_is_none_of_where_url(self):
-        (af, d, s) = _d_and_s("https://example/dns-query", 443, None, 0, False)
+        af, d, s = _d_and_s("https://example/dns-query", 443, None, 0, False)
         self.assertEqual(d, None)
 
     def test_v4_wildcard_source_set(self):
-        (af, d, s) = _d_and_s("1.2.3.4", 53, None, 12345)
+        af, d, s = _d_and_s("1.2.3.4", 53, None, 12345)
         self.assertEqual(s, ("0.0.0.0", 12345))
 
     def test_v6_wildcard_source_set(self):
-        (af, d, s) = _d_and_s("1::2", 53, None, 12345)
+        af, d, s = _d_and_s("1::2", 53, None, 12345)
         self.assertEqual(s, ("::", 12345, 0, 0))
 
 
@@ -629,7 +629,7 @@ class TsigTests(unittest.TestCase):
 class LowLevelWaitTests(unittest.TestCase):
     def test_wait_for(self):
         try:
-            (l, r) = socket.socketpair()
+            l, r = socket.socketpair()
             # already expired
             with self.assertRaises(dns.exception.Timeout):
                 dns.query._wait_for(l, True, True, True, 0)
@@ -727,7 +727,7 @@ class IgnoreErrors(unittest.TestCase):
         s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         try:
             with mock_udp_recv(wire1, from1, wire2, from2):
-                (r, when) = dns.query.receive_udp(
+                r, when = dns.query.receive_udp(
                     s,
                     ("127.0.0.1", 53),
                     time.time() + 2,
@@ -774,7 +774,7 @@ class IgnoreErrors(unittest.TestCase):
         bad_r_wire = bad_r.to_wire()
 
         def bad():
-            (r, wire) = self.mock_receive(
+            r, wire = self.mock_receive(
                 bad_r_wire,
                 ("127.0.0.1", 53),
                 self.good_r_wire,
index d8bdb2c9152b1421a9fa9b4c0b879332ea17bcae..5d4739876da72d3cba156e7f8d537a98d0e1a4c6 100644 (file)
@@ -25,7 +25,7 @@ class ResolutionTestCase(unittest.TestCase):
         )
 
     def test_next_request_abs(self):
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertTrue(answer is None)
         self.assertEqual(request.question[0].name, self.qname)
         self.assertEqual(request.question[0].rdtype, dns.rdatatype.A)
@@ -36,17 +36,17 @@ class ResolutionTestCase(unittest.TestCase):
         self.resn = dns.resolver._Resolution(
             self.resolver, qname, "A", "IN", False, True, True
         )
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertTrue(answer is None)
         self.assertEqual(request.question[0].name, self.qname)
         self.assertEqual(request.question[0].rdtype, dns.rdatatype.A)
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertTrue(answer is None)
         self.assertEqual(request.question[0].name, abs_qname_1)
         self.assertEqual(request.question[0].rdtype, dns.rdatatype.A)
 
         def bad():
-            (request, answer) = self.resn.next_request()
+            request, answer = self.resn.next_request()
 
         self.assertRaises(dns.resolver.NXDOMAIN, bad)
 
@@ -56,21 +56,21 @@ class ResolutionTestCase(unittest.TestCase):
         self.resn = dns.resolver._Resolution(
             self.resolver, qname, "A", "IN", False, True, False
         )
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertTrue(answer is None)
         self.assertEqual(request.question[0].name, self.qname)
         self.assertEqual(request.question[0].rdtype, dns.rdatatype.A)
 
         def bad():
-            (request, answer) = self.resn.next_request()
+            request, answer = self.resn.next_request()
 
         self.assertRaises(dns.resolver.NXDOMAIN, bad)
 
     def test_next_request_exhaust_causes_nxdomain(self):
         def bad():
-            (request, answer) = self.resn.next_request()
+            request, answer = self.resn.next_request()
 
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertRaises(dns.resolver.NXDOMAIN, bad)
 
     def make_address_response(self, q):
@@ -133,7 +133,7 @@ class ResolutionTestCase(unittest.TestCase):
         self.resolver.cache.put(
             (self.qname, dns.rdatatype.A, dns.rdataclass.IN), cache_answer
         )
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertTrue(request is None)
         self.assertTrue(answer is cache_answer)
 
@@ -152,14 +152,14 @@ class ResolutionTestCase(unittest.TestCase):
         )
 
         def bad():
-            (request, answer) = self.resn.next_request()
+            request, answer = self.resn.next_request()
 
         self.assertRaises(dns.resolver.NoAnswer, bad)
         # If raise_on_no_answer is False, we should get a cache hit.
         self.resn = dns.resolver._Resolution(
             self.resolver, self.qname, "A", "IN", False, False, False
         )
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertTrue(request is None)
         self.assertTrue(answer is cache_answer)
 
@@ -181,7 +181,7 @@ class ResolutionTestCase(unittest.TestCase):
             (qname1, dns.rdatatype.ANY, dns.rdataclass.IN), cache_answer
         )
         try:
-            (request, answer) = self.resn.next_request()
+            request, answer = self.resn.next_request()
             self.assertTrue(False)  # should not happen!
         except dns.resolver.NXDOMAIN as nx:
             self.assertTrue(nx.response(qname1) is r1)
@@ -214,7 +214,7 @@ class ResolutionTestCase(unittest.TestCase):
             (qname2, dns.rdatatype.ANY, dns.rdataclass.IN), cache_answer
         )
         try:
-            (request, answer) = self.resn.next_request()
+            request, answer = self.resn.next_request()
             self.assertTrue(False)  # should not happen!
         except dns.resolver.NXDOMAIN as nx:
             self.assertTrue(nx.response(qname1) is r1)
@@ -251,69 +251,69 @@ class ResolutionTestCase(unittest.TestCase):
         self.resolver.keyring = dns.tsigkeyring.from_text(
             {"keyname.": "NjHwPsMKjdN++dOfE5iAiQ=="}
         )
-        (keyname, secret) = next(iter(self.resolver.keyring.items()))
+        keyname, secret = next(iter(self.resolver.keyring.items()))
         self.resolver.keyname = dns.name.from_text("keyname.")
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertFalse(request is None)
         self.assertEqual(request.keyring.name, keyname)
         self.assertEqual(request.keyring.secret, secret)
 
     def test_next_request_flags(self):
         self.resolver.flags = dns.flags.RD | dns.flags.CD
-        (request, answer) = self.resn.next_request()
+        request, answer = self.resn.next_request()
         self.assertFalse(request is None)
         self.assertEqual(request.flags, self.resolver.flags)
 
     def test_next_nameserver_udp(self):
-        (request, answer) = self.resn.next_request()
-        (nameserver1, tcp, backoff) = self.resn.next_nameserver()
+        request, answer = self.resn.next_request()
+        nameserver1, tcp, backoff = self.resn.next_nameserver()
         self.assertEqual(nameserver1.port, 53)
         self.assertFalse(tcp)
         self.assertEqual(backoff, 0.0)
-        (nameserver2, tcp, backoff) = self.resn.next_nameserver()
+        nameserver2, tcp, backoff = self.resn.next_nameserver()
         self.assertTrue(nameserver2 != nameserver1)
         self.assertEqual(nameserver2.port, 53)
         self.assertFalse(tcp)
         self.assertEqual(backoff, 0.0)
-        (nameserver3, tcp, backoff) = self.resn.next_nameserver()
+        nameserver3, tcp, backoff = self.resn.next_nameserver()
         self.assertTrue(nameserver3 is nameserver1)
         self.assertFalse(tcp)
         self.assertEqual(backoff, 0.1)
-        (nameserver4, tcp, backoff) = self.resn.next_nameserver()
+        nameserver4, tcp, backoff = self.resn.next_nameserver()
         self.assertTrue(nameserver4 is nameserver2)
         self.assertFalse(tcp)
         self.assertEqual(backoff, 0.0)
-        (nameserver5, tcp, backoff) = self.resn.next_nameserver()
+        nameserver5, tcp, backoff = self.resn.next_nameserver()
         self.assertTrue(nameserver5 is nameserver1)
         self.assertFalse(tcp)
         self.assertEqual(backoff, 0.2)
 
     def test_next_nameserver_retry_with_tcp(self):
-        (request, answer) = self.resn.next_request()
-        (nameserver1, tcp, backoff) = self.resn.next_nameserver()
+        request, answer = self.resn.next_request()
+        nameserver1, tcp, backoff = self.resn.next_nameserver()
         self.assertEqual(nameserver1.port, 53)
         self.assertFalse(tcp)
         self.assertEqual(backoff, 0.0)
         self.resn.retry_with_tcp = True
-        (nameserver2, tcp, backoff) = self.resn.next_nameserver()
+        nameserver2, tcp, backoff = self.resn.next_nameserver()
         self.assertTrue(nameserver2 is nameserver1)
         self.assertTrue(tcp)
         self.assertEqual(backoff, 0.0)
-        (nameserver3, tcp, backoff) = self.resn.next_nameserver()
+        nameserver3, tcp, backoff = self.resn.next_nameserver()
         self.assertTrue(nameserver3 != nameserver1)
         self.assertEqual(nameserver3.port, 53)
         self.assertFalse(tcp)
         self.assertEqual(backoff, 0.0)
 
     def test_next_nameserver_no_nameservers(self):
-        (request, answer) = self.resn.next_request()
-        (nameserver, _, _) = self.resn.next_nameserver()
+        request, answer = self.resn.next_request()
+        nameserver, _, _ = self.resn.next_nameserver()
         self.resn.nameservers.remove(nameserver)
-        (nameserver, _, _) = self.resn.next_nameserver()
+        nameserver, _, _ = self.resn.next_nameserver()
         self.resn.nameservers.remove(nameserver)
 
         def bad():
-            (nameserver, _, _) = self.resn.next_nameserver()
+            nameserver, _, _ = self.resn.next_nameserver()
 
         self.assertRaises(dns.resolver.NoNameservers, bad)
 
@@ -321,8 +321,8 @@ class ResolutionTestCase(unittest.TestCase):
         # A query to a nameserver that always supports a maximum size query
         # always counts as a "tcp attempt" for the state machine
         self.resolver.nameservers = ["https://127.0.0.1:443/bogus"]
-        (_, _) = self.resn.next_request()
-        (nameserver, tcp_attempt, _) = self.resn.next_nameserver()
+        _, _ = self.resn.next_request()
+        nameserver, tcp_attempt, _ = self.resn.next_nameserver()
         print(nameserver)
         assert tcp_attempt
 
@@ -331,7 +331,7 @@ class ResolutionTestCase(unittest.TestCase):
         new_nameservers = list(self.resolver.nameservers[:])
         new_nameservers.extend(["10.0.0.3", "10.0.0.4"])
         self.resolver.nameservers = new_nameservers
-        (request, _) = self.resn.next_request()
+        request, _ = self.resn.next_request()
         exceptions = [
             dns.exception.FormError(),
             EOFError(),
@@ -339,13 +339,13 @@ class ResolutionTestCase(unittest.TestCase):
             dns.message.Truncated(),
         ]
         for i in range(4):
-            (nameserver, _, _) = self.resn.next_nameserver()
+            nameserver, _, _ = self.resn.next_nameserver()
             if i == 3:
                 # Truncated is only bad if we're doing TCP, make it look
                 # like that's the case
                 self.resn.tcp_attempt = True
             self.assertTrue(nameserver in self.resn.nameservers)
-            (answer, done) = self.resn.query_result(None, exceptions[i])
+            answer, done = self.resn.query_result(None, exceptions[i])
             self.assertTrue(answer is None)
             self.assertFalse(done)
             self.assertFalse(nameserver in self.resn.nameservers)
@@ -355,19 +355,19 @@ class ResolutionTestCase(unittest.TestCase):
         # except for the exceptions tested in
         # test_query_result_nameserver_removing_exceptions(), we should
         # not remove any nameservers and just continue resolving.
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
         nameservers = self.resn.nameservers[:]
-        (answer, done) = self.resn.query_result(None, dns.exception.Timeout())
+        answer, done = self.resn.query_result(None, dns.exception.Timeout())
         self.assertTrue(answer is None)
         self.assertFalse(done)
         self.assertEqual(nameservers, self.resn.nameservers)
 
     def test_query_result_retry_with_tcp(self):
-        (request, _) = self.resn.next_request()
-        (nameserver, tcp, _) = self.resn.next_nameserver()
+        request, _ = self.resn.next_request()
+        nameserver, tcp, _ = self.resn.next_nameserver()
         self.assertFalse(tcp)
-        (answer, done) = self.resn.query_result(None, dns.message.Truncated())
+        answer, done = self.resn.query_result(None, dns.message.Truncated())
         self.assertTrue(answer is None)
         self.assertFalse(done)
         self.assertTrue(self.resn.retry_with_tcp)
@@ -378,9 +378,9 @@ class ResolutionTestCase(unittest.TestCase):
     def test_query_result_no_error_with_data(self):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_address_response(q)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertFalse(answer is None)
         self.assertTrue(done)
         self.assertEqual(answer.qname, self.qname)
@@ -390,9 +390,9 @@ class ResolutionTestCase(unittest.TestCase):
         self.resolver.cache = dns.resolver.Cache()
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_address_response(q)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertFalse(answer is None)
         cache_answer = self.resolver.cache.get(
             (self.qname, dns.rdatatype.A, dns.rdataclass.IN)
@@ -402,20 +402,20 @@ class ResolutionTestCase(unittest.TestCase):
     def test_query_result_no_error_no_data(self):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_negative_response(q)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
 
         def bad():
-            (answer, done) = self.resn.query_result(r, None)
+            answer, done = self.resn.query_result(r, None)
 
         self.assertRaises(dns.resolver.NoAnswer, bad)
 
     def test_query_result_nxdomain(self):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_negative_response(q, True)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertTrue(answer is None)
         self.assertTrue(done)
 
@@ -423,9 +423,9 @@ class ResolutionTestCase(unittest.TestCase):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_address_response(q)
         r.set_rcode(dns.rcode.NXDOMAIN)
-        (_, _) = self.resn.next_request()
-        (nameserver, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        nameserver, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertIsNone(answer)
         self.assertFalse(done)
         self.assertTrue(nameserver not in self.resn.nameservers)
@@ -433,18 +433,18 @@ class ResolutionTestCase(unittest.TestCase):
     def test_query_result_chain_not_too_long(self):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_long_chain_response(q, 15)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertIsNotNone(answer)
         self.assertTrue(done)
 
     def test_query_result_chain_too_long(self):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_long_chain_response(q, 16)
-        (_, _) = self.resn.next_request()
-        (nameserver, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        nameserver, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertIsNone(answer)
         self.assertFalse(done)
         self.assertTrue(nameserver not in self.resn.nameservers)
@@ -453,9 +453,9 @@ class ResolutionTestCase(unittest.TestCase):
         self.resolver.cache = dns.resolver.Cache()
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_negative_response(q, True)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertTrue(answer is None)
         self.assertTrue(done)
         cache_answer = self.resolver.cache.get(
@@ -467,11 +467,11 @@ class ResolutionTestCase(unittest.TestCase):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_address_response(q)
         r.set_rcode(dns.rcode.YXDOMAIN)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
 
         def bad():
-            (answer, done) = self.resn.query_result(r, None)
+            answer, done = self.resn.query_result(r, None)
 
         self.assertRaises(dns.resolver.YXDOMAIN, bad)
 
@@ -479,9 +479,9 @@ class ResolutionTestCase(unittest.TestCase):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_address_response(q)
         r.set_rcode(dns.rcode.SERVFAIL)
-        (_, _) = self.resn.next_request()
-        (nameserver, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        nameserver, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertTrue(answer is None)
         self.assertFalse(done)
         self.assertTrue(nameserver not in self.resn.nameservers)
@@ -491,10 +491,10 @@ class ResolutionTestCase(unittest.TestCase):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_address_response(q)
         r.set_rcode(dns.rcode.SERVFAIL)
-        (_, _) = self.resn.next_request()
-        (_, _, _) = self.resn.next_nameserver()
+        _, _ = self.resn.next_request()
+        _, _, _ = self.resn.next_nameserver()
         nameservers = self.resn.nameservers[:]
-        (answer, done) = self.resn.query_result(r, None)
+        answer, done = self.resn.query_result(r, None)
         self.assertTrue(answer is None)
         self.assertFalse(done)
         self.assertEqual(nameservers, self.resn.nameservers)
@@ -503,9 +503,9 @@ class ResolutionTestCase(unittest.TestCase):
         q = dns.message.make_query(self.qname, dns.rdatatype.A)
         r = self.make_address_response(q)
         r.set_rcode(dns.rcode.REFUSED)
-        (_, _) = self.resn.next_request()
-        (nameserver, _, _) = self.resn.next_nameserver()
-        (answer, done) = self.resn.query_result(r, None)
+        _, _ = self.resn.next_request()
+        nameserver, _, _ = self.resn.next_nameserver()
+        answer, done = self.resn.query_result(r, None)
         self.assertTrue(answer is None)
         self.assertFalse(done)
         self.assertTrue(nameserver not in self.resn.nameservers)
index 0c50ca7122cd41e4617440cfe5ea4aebeced2173..de36ac9df8fbdf546d959ff2112f9512e7934dab 100644 (file)
@@ -999,9 +999,15 @@ class ResolverMiscTestCase(unittest.TestCase):
 
         def test_set_config_method(self):
             from dns.win32util import set_config_method, ConfigMethod
-            self.assertNotEqual(dns.win32util._config_method, dns.win32util.ConfigMethod.Win32)
+
+            self.assertNotEqual(
+                dns.win32util._config_method, dns.win32util.ConfigMethod.Win32
+            )
             dns.win32util.set_config_method(dns.win32util.ConfigMethod.Win32)
-            self.assertEqual(dns.win32util._config_method, dns.win32util.ConfigMethod.Win32)
+            self.assertEqual(
+                dns.win32util._config_method, dns.win32util.ConfigMethod.Win32
+            )
+
 
 class ResolverNameserverValidTypeTestCase(unittest.TestCase):
     def test_set_nameservers_to_list(self):
index 10b33a5b201c1509730a31c54285ab32c003cf12..081f336cc16b0e6fd3f2a902e1b796832255ec7e 100644 (file)
@@ -635,25 +635,25 @@ keyname = dns.name.from_text("keyname")
 
 def test_make_query_basic():
     z = dns.versioned.Zone("example.")
-    (q, s) = dns.xfr.make_query(z)
+    q, s = dns.xfr.make_query(z)
     assert q.question[0].rdtype == dns.rdatatype.AXFR
     assert s is None
-    (q, s) = dns.xfr.make_query(z, serial=None)
+    q, s = dns.xfr.make_query(z, serial=None)
     assert q.question[0].rdtype == dns.rdatatype.AXFR
     assert s is None
-    (q, s) = dns.xfr.make_query(z, serial=10)
+    q, s = dns.xfr.make_query(z, serial=10)
     assert q.question[0].rdtype == dns.rdatatype.IXFR
     assert q.authority[0].rdtype == dns.rdatatype.SOA
     assert q.authority[0][0].serial == 10
     assert s == 10
     with z.writer() as txn:
         txn.add("@", 300, dns.rdata.from_text("in", "soa", ". . 1 2 3 4 5"))
-    (q, s) = dns.xfr.make_query(z)
+    q, s = dns.xfr.make_query(z)
     assert q.question[0].rdtype == dns.rdatatype.IXFR
     assert q.authority[0].rdtype == dns.rdatatype.SOA
     assert q.authority[0][0].serial == 1
     assert s == 1
-    (q, s) = dns.xfr.make_query(z, keyring=keyring, keyname=keyname)
+    q, s = dns.xfr.make_query(z, keyring=keyring, keyname=keyname)
     assert q.question[0].rdtype == dns.rdatatype.IXFR
     assert q.authority[0].rdtype == dns.rdatatype.SOA
     assert q.authority[0][0].serial == 1
@@ -673,11 +673,11 @@ def test_make_query_bad_serial():
 
 def test_extract_serial_from_query():
     z = dns.versioned.Zone("example.")
-    (q, s) = dns.xfr.make_query(z)
+    q, s = dns.xfr.make_query(z)
     xs = dns.xfr.extract_serial_from_query(q)
     assert s is None
     assert s == xs
-    (q, s) = dns.xfr.make_query(z, serial=10)
+    q, s = dns.xfr.make_query(z, serial=10)
     xs = dns.xfr.extract_serial_from_query(q)
     assert s == 10
     assert s == xs
index 94814beb7253305f18c32df44d085804b30bd244..1e154f84b4784023c1cbb1607ec8c1a69110684b 100644 (file)
@@ -168,9 +168,7 @@ $ORIGIN example.
 """
 
 include_text = """$INCLUDE "%s"
-""" % here(
-    "example"
-)
+""" % here("example")
 
 bad_directive_text = """$FOO bar
 $ORIGIN example.
index bb3f174cc0817dc68ea7195ff6a0aa0b82b84c35..87443743e63254a4a8b2982ebf4946a72cd18141 100644 (file)
@@ -12,8 +12,7 @@ import dns.zone
 class ZoneDigestTestCase(unittest.TestCase):
     # Examples from RFC 8976, fixed per errata.
 
-    simple_example = textwrap.dedent(
-        """
+    simple_example = textwrap.dedent("""
         example.      86400  IN  SOA     ns1 admin 2018031900 (
                                          1800 900 604800 86400 )
                       86400  IN  NS      ns1
@@ -27,11 +26,9 @@ class ZoneDigestTestCase(unittest.TestCase):
                                          777f98b8e730044c )
         ns1           3600   IN  A       203.0.113.63
         ns2           3600   IN  AAAA    2001:db8::63
-    """
-    )
+    """)
 
-    complex_example = textwrap.dedent(
-        """
+    complex_example = textwrap.dedent("""
         example.      86400  IN  SOA     ns1 admin 2018031900 (
                                          1800 900 604800 86400 )
                       86400  IN  NS      ns1
@@ -66,11 +63,9 @@ class ZoneDigestTestCase(unittest.TestCase):
                                          6f77656420627574
                                          2069676e6f726564
                                          2e20616c6c6f7765 )
-    """
-    )
+    """)
 
-    multiple_digests_example = textwrap.dedent(
-        """
+    multiple_digests_example = textwrap.dedent("""
         example.      86400  IN  SOA     ns1 admin 2018031900 (
                                          1800 900 604800 86400 )
         example.      86400  IN  NS      ns1.example.
@@ -104,8 +99,7 @@ class ZoneDigestTestCase(unittest.TestCase):
         ns1.example.  3600   IN  A       203.0.113.63
         ns2.example.  86400  IN  TXT     "This example has multiple digests"
         NS2.EXAMPLE.  3600   IN  AAAA    2001:db8::63
-    """
-    )
+    """)
 
     def _get_zonemd(self, zone):
         return zone.get_rdataset(zone.origin, "ZONEMD")
@@ -180,16 +174,14 @@ class ZoneDigestTestCase(unittest.TestCase):
         with self.assertRaises(dns.exception.SyntaxError):
             dns.rdata.from_text("IN", "ZONEMD", "100 1 0 " + self.sha384_hash)
 
-    sorting_zone = textwrap.dedent(
-        """
+    sorting_zone = textwrap.dedent("""
     @  86400  IN  SOA     ns1 admin 2018031900 (
                                      1800 900 604800 86400 )
               86400  IN  NS      ns1
               86400  IN  NS      ns2
               86400  IN  RP      n1.example. a.
               86400  IN  RP      n1. b.
-    """
-    )
+    """)
 
     def test_relative_zone_sorting(self):
         z1 = dns.zone.from_text(self.sorting_zone, "example.", relativize=True)