]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
Minor Python 3 cleanups. 502/head
authorBrian Wellington <bwelling@xbill.org>
Wed, 3 Jun 2020 22:56:58 +0000 (15:56 -0700)
committerBrian Wellington <bwelling@xbill.org>
Wed, 3 Jun 2020 22:56:58 +0000 (15:56 -0700)
Classes inherit from object by default; there's no need to explicitly
include this.

Replace super(Foo, self) with super().

22 files changed:
dns/edns.py
dns/entropy.py
dns/exception.py
dns/message.py
dns/name.py
dns/namedict.py
dns/node.py
dns/query.py
dns/query.pyi
dns/rdata.py
dns/rdataset.py
dns/rdtypes/ANY/RP.py
dns/rdtypes/CH/A.py
dns/rdtypes/IN/APL.py
dns/renderer.py
dns/resolver.py
dns/rrset.py
dns/set.py
dns/tokenizer.py
dns/trio/query.pyi
dns/update.py
dns/zone.py

index dc050e6d3456444e574a736b9a9de3efaf7ff31d..109679a51225fe106b386a67de6a46e353583394 100644 (file)
@@ -43,7 +43,7 @@ PADDING = 12
 #: CHAIN
 CHAIN = 13
 
-class Option(object):
+class Option:
 
     """Base class for all EDNS option types."""
 
@@ -132,7 +132,7 @@ class GenericOption(Option):
     """
 
     def __init__(self, otype, data):
-        super(GenericOption, self).__init__(otype)
+        super().__init__(otype)
         self.data = data
 
     def to_wire(self, file):
@@ -169,7 +169,7 @@ class ECSOption(Option):
         must be 0 in queries, and should be set in responses.
         """
 
-        super(ECSOption, self).__init__(ECS)
+        super().__init__(ECS)
         af = dns.inet.af_for_address(address)
 
         if af == dns.inet.AF_INET6:
index 293d00b850a0806f9b2629871d3b9c92a066b59b..cd7908362b8aa6e87d1b69c81b5fa22f838ec307 100644 (file)
@@ -25,7 +25,7 @@ except ImportError:
     import dummy_threading as _threading    # type: ignore
 
 
-class EntropyPool(object):
+class EntropyPool:
 
     # This is an entropy pool for Python implementations that do not
     # have a working SystemRandom.  I'm not sure there are any, but
index 71ff04f1488e7c06bb92debaf6abc1df3f016042..8f1d48883090668de05827a3e059b8a4de86dae8 100644 (file)
@@ -59,9 +59,9 @@ class DNSException(Exception):
             # doc string is better implicit message than empty string
             self.msg = self.__doc__
         if args:
-            super(DNSException, self).__init__(*args)
+            super().__init__(*args)
         else:
-            super(DNSException, self).__init__(self.msg)
+            super().__init__(self.msg)
 
     def _check_params(self, *args, **kwargs):
         """Old exceptions supported only args and not kwargs.
@@ -103,7 +103,7 @@ class DNSException(Exception):
             return self.fmt.format(**fmtargs)
         else:
             # print *args directly in the same way as old DNSException
-            return super(DNSException, self).__str__()
+            return super().__str__()
 
 
 class FormError(DNSException):
index 103bec88e8c2386a14f205b630066281cbc5fb28..55a9ba14249c856403234a37b71827cde6f21d43 100644 (file)
@@ -90,7 +90,7 @@ AUTHORITY = 2
 #: The additional section number
 ADDITIONAL = 3
 
-class Message(object):
+class Message:
     """A DNS message."""
 
     def __init__(self, id=None):
@@ -592,7 +592,7 @@ class Message(object):
         self.flags |= dns.opcode.to_flags(opcode)
 
 
-class _WireReader(object):
+class _WireReader:
 
     """Wire format reader.
 
@@ -852,7 +852,7 @@ def from_wire(wire, keyring=None, request_mac=b'', xfr=False, origin=None,
     return m
 
 
-class _TextReader(object):
+class _TextReader:
 
     """Text format reader.
 
index fb64f428d72594403e8f60bbc35856c0aec86cd6..677f32493d851fce3b10e5bb323709609658aac6 100644 (file)
@@ -95,7 +95,7 @@ class IDNAException(dns.exception.DNSException):
     fmt = "IDNA processing exception: {idna_exception}"
 
 
-class IDNACodec(object):
+class IDNACodec:
     """Abstract base class for IDNA encoder/decoders."""
 
     def __init__(self):
@@ -128,7 +128,7 @@ class IDNA2003Codec(IDNACodec):
         was encoded with IDNA2008.  The default is `False`.
         """
 
-        super(IDNA2003Codec, self).__init__()
+        super().__init__()
         self.strict_decode = strict_decode
 
     def encode(self, label):
@@ -144,7 +144,7 @@ class IDNA2003Codec(IDNACodec):
     def decode(self, label):
         """Decode *label*."""
         if not self.strict_decode:
-            return super(IDNA2003Codec, self).decode(label)
+            return super().decode(label)
         if label == b'':
             return ''
         try:
@@ -181,7 +181,7 @@ class IDNA2008Codec(IDNACodec):
         is done when decoding.  This can cause failures if the name
         was encoded with IDNA2003.  The default is False.
         """
-        super(IDNA2008Codec, self).__init__()
+        super().__init__()
         self.uts_46 = uts_46
         self.transitional = transitional
         self.allow_pure_ascii = allow_pure_ascii
@@ -203,7 +203,7 @@ class IDNA2008Codec(IDNACodec):
 
     def decode(self, label):
         if not self.strict_decode:
-            return super(IDNA2008Codec, self).decode(label)
+            return super().decode(label)
         if label == b'':
             return ''
         if not have_idna_2008:
@@ -300,7 +300,7 @@ def _maybe_convert_to_binary(label):
     raise ValueError
 
 
-class Name(object):
+class Name:
 
     """A DNS name.
 
@@ -316,7 +316,7 @@ class Name(object):
         """
 
         labels = [_maybe_convert_to_binary(x) for x in labels]
-        super(Name, self).__setattr__('labels', tuple(labels))
+        super().__setattr__('labels', tuple(labels))
         _validate_labels(self.labels)
 
     def __setattr__(self, name, value):
@@ -338,7 +338,7 @@ class Name(object):
         return {'labels': self.labels}
 
     def __setstate__(self, state):
-        super(Name, self).__setattr__('labels', state['labels'])
+        super().__setattr__('labels', state['labels'])
         _validate_labels(self.labels)
 
     def is_absolute(self):
index 580745307d34bd81b0fe14ab3d7a411450b72231..ce51e5246fe3297a4586f11f564c8caccdef25e2 100644 (file)
@@ -44,7 +44,7 @@ class NameDict(MutableMapping):
     __slots__ = ["max_depth", "max_depth_items", "__store"]
 
     def __init__(self, *args, **kwargs):
-        super(NameDict, self).__init__()
+        super().__init__()
         self.__store = dict()
         #: the maximum depth of the keys that have ever been added
         self.max_depth = 0
index 6ac79fdf0f07265480b3362b56c975db6e533339..1425bbc7ff87ae1fee1db7830041847a0c72b243 100644 (file)
@@ -24,7 +24,7 @@ import dns.rdatatype
 import dns.renderer
 
 
-class Node(object):
+class Node:
 
     """A Node is a set of rdatasets."""
 
index 0ccbcc9ce013c3f72c2c6cbd887d68472e8e4750..b13bb7cbeeb4538ef10e3a7573abf92b952f4ee6 100644 (file)
@@ -47,7 +47,7 @@ except ImportError:
 try:
     import ssl
 except ImportError:
-    class ssl(object):    # type: ignore
+    class ssl:    # type: ignore
 
         class WantReadException(Exception):
             pass
@@ -55,7 +55,7 @@ except ImportError:
         class WantWriteException(Exception):
             pass
 
-        class SSLSocket(object):
+        class SSLSocket:
             pass
 
         def create_default_context(self, *args, **kwargs):
@@ -78,7 +78,7 @@ class TransferError(dns.exception.DNSException):
 
     def __init__(self, rcode):
         message = 'Zone transfer error: %s' % dns.rcode.to_text(rcode)
-        super(TransferError, self).__init__(message)
+        super().__init__(message)
         self.rcode = rcode
 
 
index 219e50f54778efbb7e1f63cf378593e82bfb9385..6411b9e82de8896bfef66e83cfc34de72f00e7a5 100644 (file)
@@ -10,7 +10,7 @@ from requests.sessions import Session
 try:
     import ssl
 except ImportError:
-    class ssl(object):    # type: ignore
+    class ssl:    # type: ignore
         SSLContext : Dict = {}
 
 have_doh: bool
index be5d3dbde480cc5b2cc8ee4a7a8fb38ff187147f..ae668b3adf3a3a294241b85d674e3efd28405fe1 100644 (file)
@@ -103,7 +103,7 @@ def _constify(o):
         return tuple(_constify(elt) for elt in o)
     return o
 
-class Rdata(object):
+class Rdata:
     """Base class for all DNS rdata types."""
 
     __slots__ = ['rdclass', 'rdtype']
@@ -340,7 +340,7 @@ class GenericRdata(Rdata):
     __slots__ = ['data']
 
     def __init__(self, rdclass, rdtype, data):
-        super(GenericRdata, self).__init__(rdclass, rdtype)
+        super().__init__(rdclass, rdtype)
         object.__setattr__(self, 'data', data)
 
     def to_text(self, origin=None, relativize=True, **kw):
index 1e0d7d36ee3521bd7be1eadc818cccadba08f560..660415e78314ed9f698034276b9a7d15b053a8cf 100644 (file)
@@ -58,14 +58,14 @@ class Rdataset(dns.set.Set):
         *ttl*, an ``int``, the TTL.
         """
 
-        super(Rdataset, self).__init__()
+        super().__init__()
         self.rdclass = rdclass
         self.rdtype = rdtype
         self.covers = covers
         self.ttl = ttl
 
     def _clone(self):
-        obj = super(Rdataset, self)._clone()
+        obj = super()._clone()
         obj.rdclass = self.rdclass
         obj.rdtype = self.rdtype
         obj.covers = self.covers
@@ -123,15 +123,15 @@ class Rdataset(dns.set.Set):
                 raise DifferingCovers
         if dns.rdatatype.is_singleton(rd.rdtype) and len(self) > 0:
             self.clear()
-        super(Rdataset, self).add(rd)
+        super().add(rd)
 
     def union_update(self, other):
         self.update_ttl(other.ttl)
-        super(Rdataset, self).union_update(other)
+        super().union_update(other)
 
     def intersection_update(self, other):
         self.update_ttl(other.ttl)
-        super(Rdataset, self).intersection_update(other)
+        super().intersection_update(other)
 
     def update(self, other):
         """Add all rdatas in other to self.
@@ -141,7 +141,7 @@ class Rdataset(dns.set.Set):
         """
 
         self.update_ttl(other.ttl)
-        super(Rdataset, self).update(other)
+        super().update(other)
 
     def _rdata_repr(self):
         def maybe_truncate(s):
@@ -170,7 +170,7 @@ class Rdataset(dns.set.Set):
            self.rdtype != other.rdtype or \
            self.covers != other.covers:
             return False
-        return super(Rdataset, self).__eq__(other)
+        return super().__eq__(other)
 
     def __ne__(self, other):
         return not self.__eq__(other)
index 5c4cc59b2ffe492064eafbd86df2c3c98dfff157..fa3aaac91c74b4c586f8c18340b8ae0d3886efbb 100644 (file)
@@ -29,7 +29,7 @@ class RP(dns.rdata.Rdata):
     __slots__ = ['mbox', 'txt']
 
     def __init__(self, rdclass, rdtype, mbox, txt):
-        super(RP, self).__init__(rdclass, rdtype)
+        super().__init__(rdclass, rdtype)
         object.__setattr__(self, 'mbox', mbox)
         object.__setattr__(self, 'txt', txt)
 
index fefbab63ee23f1395e7e4f77b7326aa3c1569ab4..ca349320a9352b28a25d51b7e127d80b6b008bc2 100644 (file)
@@ -28,7 +28,7 @@ class A(dns.rdtypes.mxbase.MXBase):
     __slots__ = ['domain', 'address']
 
     def __init__(self, rdclass, rdtype, address, domain):
-        super(A, self).__init__(rdclass, rdtype, address, domain)
+        super().__init__(rdclass, rdtype, address, domain)
         object.__setattr__(self, 'domain', domain)
         object.__setattr__(self, 'address', address)
 
index 5facf05d58a7fe5a691a72f8dc017266cbdc16ad..7149a6481503a6120e2fb4119a9ef6b04c667c6c 100644 (file)
@@ -25,7 +25,7 @@ import dns.ipv6
 import dns.rdata
 import dns.tokenizer
 
-class APLItem(object):
+class APLItem:
 
     """An APL list item."""
 
index 02a9e3d0c23d114e47523ad5cfa5ed856431ab99..27d96a6266378ee91aa5aa1ce658dc99fcc7af29 100644 (file)
@@ -32,7 +32,7 @@ AUTHORITY = 2
 ADDITIONAL = 3
 
 
-class Renderer(object):
+class Renderer:
     """Helper class for building DNS wire-format messages.
 
     Most applications can use the higher-level L{dns.message.Message}
index 54ed52925e1b43dda89e8d702108551f94f3b545..e00aead7a128973489bb6e8b0c46202de7e27bd2 100644 (file)
@@ -66,7 +66,7 @@ class NXDOMAIN(dns.exception.DNSException):
 
     def __str__(self):
         if 'qnames' not in self.kwargs:
-            return super(NXDOMAIN, self).__str__()
+            return super().__str__()
         qnames = self.kwargs['qnames']
         if len(qnames) > 1:
             msg = 'None of DNS query names exist'
@@ -145,8 +145,7 @@ class NoAnswer(dns.exception.DNSException):
     supp_kwargs = {'response'}
 
     def _fmt_kwargs(self, **kwargs):
-        return super(NoAnswer, self)._fmt_kwargs(
-            query=kwargs['response'].question)
+        return super()._fmt_kwargs(query=kwargs['response'].question)
 
 
 class NoNameservers(dns.exception.DNSException):
@@ -167,8 +166,8 @@ class NoNameservers(dns.exception.DNSException):
         for err in kwargs['errors']:
             srv_msgs.append('Server {} {} port {} answered {}'.format(err[0],
                             'TCP' if err[1] else 'UDP', err[2], err[3]))
-        return super(NoNameservers, self)._fmt_kwargs(
-            query=kwargs['request'].question, errors='; '.join(srv_msgs))
+        return super()._fmt_kwargs(query=kwargs['request'].question,
+                                   errors='; '.join(srv_msgs))
 
 
 class NotAbsolute(dns.exception.DNSException):
@@ -185,7 +184,7 @@ class NoMetaqueries(dns.exception.DNSException):
 class NoResolverConfiguration(dns.exception.DNSException):
     """Resolver configuration could not be read or specified no nameservers."""
 
-class Answer(object):
+class Answer:
     """DNS stub resolver answer.
 
     Instances of this class bundle up the result of a successful DNS
@@ -286,7 +285,7 @@ class Answer(object):
         del self.rrset[i]
 
 
-class Cache(object):
+class Cache:
     """Simple thread-safe DNS answer cache."""
 
     def __init__(self, cleaning_interval=300.0):
@@ -363,7 +362,7 @@ class Cache(object):
                 self.next_cleaning = time.time() + self.cleaning_interval
 
 
-class LRUCacheNode(object):
+class LRUCacheNode:
     """LRUCache node."""
 
     def __init__(self, key, value):
@@ -389,7 +388,7 @@ class LRUCacheNode(object):
         self.prev.next = self.next
 
 
-class LRUCache(object):
+class LRUCache:
     """Thread-safe, bounded, least-recently-used DNS answer cache.
 
     This cache is better than the simple cache (above) if you're
@@ -486,7 +485,7 @@ class LRUCache(object):
                     node = next
                 self.data = {}
 
-class _Resolution(object):
+class _Resolution:
     """Helper class for dns.resolver.Resolver.resolve().
 
     All of the "business logic" of resolution is encapsulated in this
@@ -677,7 +676,7 @@ class _Resolution(object):
                                 dns.rcode.to_text(rcode), response))
             return (None, False)
 
-class Resolver(object):
+class Resolver:
     """DNS stub resolver."""
 
     # We initialize in reset()
index ac4289de34bfa6fd7ed14f7ed5ced42486dc5fae..68136f4075c4b494cc6e6945201bbd358d16c30c 100644 (file)
@@ -41,12 +41,12 @@ class RRset(dns.rdataset.Rdataset):
                  deleting=None):
         """Create a new RRset."""
 
-        super(RRset, self).__init__(rdclass, rdtype, covers)
+        super().__init__(rdclass, rdtype, covers)
         self.name = name
         self.deleting = deleting
 
     def _clone(self):
-        obj = super(RRset, self)._clone()
+        obj = super()._clone()
         obj.name = self.name
         obj.deleting = self.deleting
         return obj
@@ -73,14 +73,14 @@ class RRset(dns.rdataset.Rdataset):
             return False
         if self.name != other.name:
             return False
-        return super(RRset, self).__eq__(other)
+        return super().__eq__(other)
 
     def match(self, name, rdclass, rdtype, covers, deleting=None):
         """Returns ``True`` if this rrset matches the specified class, type,
         covers, and deletion state.
         """
 
-        if not super(RRset, self).match(rdclass, rdtype, covers):
+        if not super().match(rdclass, rdtype, covers):
             return False
         if self.name != name or self.deleting != deleting:
             return False
@@ -103,8 +103,8 @@ class RRset(dns.rdataset.Rdataset):
         to *origin*.
         """
 
-        return super(RRset, self).to_text(self.name, origin, relativize,
-                                          self.deleting, **kw)
+        return super().to_text(self.name, origin, relativize,
+                               self.deleting, **kw)
 
     def to_wire(self, file, compress=None, origin=None, **kw):
         """Convert the RRset to wire format.
@@ -115,8 +115,8 @@ class RRset(dns.rdataset.Rdataset):
         Returns an ``int``, the number of records emitted.
         """
 
-        return super(RRset, self).to_wire(self.name, file, compress, origin,
-                                          self.deleting, **kw)
+        return super().to_wire(self.name, file, compress, origin,
+                               self.deleting, **kw)
 
     def to_rdataset(self):
         """Convert an RRset into an Rdataset.
index af24c2d53e4fd19c1042dadb4512a8625ca551c1..a77bfc1161477dafb1b6b81498e22644bcf009fe 100644 (file)
@@ -23,7 +23,7 @@ if sys.version_info >= (3, 7):
 else:
     from collections import OrderedDict as odict
 
-class Set(object):
+class Set:
 
     """A simple set class.
 
index a13268d92592abd950ff2f3d984a1cc5de86d6bd..8e7ac421416896548410bc2af20acc14c8b5d0fd 100644 (file)
@@ -40,7 +40,7 @@ class UngetBufferFull(dns.exception.DNSException):
     """An attempt was made to unget a token when the unget buffer was full."""
 
 
-class Token(object):
+class Token:
     """A DNS master file format token.
 
     ttype: The token type
@@ -183,7 +183,7 @@ class Token(object):
         return Token(self.ttype, bytes(unescaped))
 
 
-class Tokenizer(object):
+class Tokenizer:
     """A DNS master file format tokenizer.
 
     A token object is basically a (type, value) tuple.  The valid
index 642c7c045b31cd8d1db000b69f354ddea83040fb..c51f000b7cc95a32d1d0de712fb1383cfed2c279 100644 (file)
@@ -9,7 +9,7 @@ from . import rdatatype, rdataclass, name, message
 try:
     import ssl
 except ImportError:
-    class ssl(object):    # type: ignore
+    class ssl:    # type: ignore
         SSLContext : Dict = {}
 
 def udp(q : message.Message, where : str, port=53,
index d4cddb29f735549bc37c86394f27b1bd155a9d05..951d895109904c3eaaab9c6f142c7f118b35e1f0 100644 (file)
@@ -53,7 +53,7 @@ class Update(dns.message.Message):
 
         *keyalgorithm*, a ``dns.name.Name``, the TSIG algorithm to use.
         """
-        super(Update, self).__init__()
+        super().__init__()
         self.flags |= dns.opcode.to_flags(dns.opcode.UPDATE)
         if isinstance(zone, str):
             zone = dns.name.from_text(zone)
@@ -267,4 +267,4 @@ class Update(dns.message.Message):
 
         if origin is None:
             origin = self.origin
-        return super(Update, self).to_wire(origin, max_size)
+        return super().to_wire(origin, max_size)
index 3ca9d28ce0cb6d1a697ca1890d235677d5b44022..741d24c3692abdee1c6cc9cd2796061baefcbb75 100644 (file)
@@ -56,7 +56,7 @@ class UnknownOrigin(BadZone):
     """The DNS zone's origin is unknown."""
 
 
-class Zone(object):
+class Zone:
 
     """A DNS zone.
 
@@ -636,7 +636,7 @@ class Zone(object):
             raise NoNS
 
 
-class _MasterReader(object):
+class _MasterReader:
 
     """Read a DNS master file