]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
flake8 linting
authorBob Halley <halley@dnspython.org>
Fri, 15 May 2020 21:35:22 +0000 (14:35 -0700)
committerBob Halley <halley@dnspython.org>
Fri, 15 May 2020 21:35:22 +0000 (14:35 -0700)
18 files changed:
.flake8
dns/__init__.py
dns/dnssec.py
dns/edns.py
dns/inet.py
dns/ipv4.py
dns/ipv6.py
dns/query.py
dns/query.pyi
dns/rdatatype.py
dns/rdtypes/ANY/AVC.py
dns/rdtypes/ANY/GPOS.py
dns/rdtypes/ANY/ISDN.py
dns/rdtypes/ANY/LOC.py
dns/rdtypes/CH/A.py
dns/rdtypes/IN/IPSECKEY.py
dns/resolver.py
dns/zone.py

diff --git a/.flake8 b/.flake8
index 711a1b55743685f116099b2f1bbfb8db548056cc..0b0e1d5de96d217c60802769b6ec1b6d5d24a9ed 100644 (file)
--- a/.flake8
+++ b/.flake8
@@ -1,2 +1,16 @@
 [flake8]
-ignore = E741
+ignore =
+       # Prefer emacs indentation of continued lines
+       E126,
+       E129,
+       # Whitespace round parameter '=' can be excessive
+       E252,
+       # Not excited by the "two blank lines" rule
+       E302,
+       E305,
+       # Ambigious variables are ok.
+       E741,
+       # Lines ending with binary operators are OK
+       W504,
+
+max-line-length = 80
index de7689a9cea0d3a40643eb0d50247db2c0ffcdc2..d5cadb89f4115707e48e4ff66859963c2e36d058 100644 (file)
@@ -54,4 +54,4 @@ __all__ = [
     'zone',
 ]
 
-from dns.version import version as __version__
+from dns.version import version as __version__  # noqa
index 51d7e2f6d1196ae4212fc1ce49f618e037e9c182..b1febd512214661d8ccee9c89ca8e7f4bd74454e 100644 (file)
@@ -416,7 +416,8 @@ def _validate_rrsig(rrset, rrsig, keys, origin=None, now=None):
             sig = rrsig.signature
         elif _is_gost(rrsig.algorithm):
             raise UnsupportedAlgorithm(
-                'algorithm "%s" not supported by dnspython' % algorithm_to_text(rrsig.algorithm))
+                'algorithm "%s" not supported by dnspython' %
+                algorithm_to_text(rrsig.algorithm))
         else:
             raise ValidationFailure('unknown algorithm %u' % rrsig.algorithm)
 
@@ -453,8 +454,10 @@ def _validate_rrsig(rrset, rrsig, keys, origin=None, now=None):
                 # Raise here for code clarity; this won't actually ever happen
                 # since if the algorithm is really unknown we'd already have
                 # raised an exception above
-                raise ValidationFailure('unknown algorithm %u' % rrsig.algorithm)
-            # If we got here, we successfully verified so we can return without error
+                raise ValidationFailure('unknown algorithm %u' %
+                                        rrsig.algorithm)
+            # If we got here, we successfully verified so we can return
+            # without error
             return
         except InvalidSignature:
             # this happens on an individual validation failure
index 3570107de233f7a2cc250f8d235ff97b5a75460b..dc050e6d3456444e574a736b9a9de3efaf7ff31d 100644 (file)
@@ -188,7 +188,7 @@ class ECSOption(Option):
         self.scopelen = scopelen
 
         addrdata = dns.inet.inet_pton(af, address)
-        nbytes = int(math.ceil(srclen/8.0))
+        nbytes = int(math.ceil(srclen / 8.0))
 
         # Truncate to srclen and pad to the end of the last octet needed
         # See RFC section 6
@@ -202,6 +202,7 @@ class ECSOption(Option):
     def to_text(self):
         return "ECS {}/{} scope/{}".format(self.address, self.srclen,
                                            self.scopelen)
+
     @staticmethod
     def from_text(text):
         """Convert a string into a `dns.edns.ECSOption`
@@ -248,11 +249,13 @@ class ECSOption(Option):
         try:
             scope = int(scope)
         except ValueError:
-            raise ValueError('invalid scope "{}": scope must be an integer'.format(scope))
+            raise ValueError('invalid scope ' +
+                             '"{}": scope must be an integer'.format(scope))
         try:
             srclen = int(srclen)
         except ValueError:
-            raise ValueError('invalid srclen "{}": srclen must be an integer'.format(srclen))
+            raise ValueError('invalid srclen ' +
+                             '"{}": srclen must be an integer'.format(srclen))
         return ECSOption(address, srclen, scope)
 
     def to_wire(self, file):
@@ -262,17 +265,17 @@ class ECSOption(Option):
 
     @classmethod
     def from_wire(cls, otype, wire, cur, olen):
-        family, src, scope = struct.unpack('!HBB', wire[cur:cur+4])
+        family, src, scope = struct.unpack('!HBB', wire[cur:cur + 4])
         cur += 4
 
-        addrlen = int(math.ceil(src/8.0))
+        addrlen = int(math.ceil(src / 8.0))
 
         if family == 1:
             pad = 4 - addrlen
-            addr = dns.ipv4.inet_ntoa(wire[cur:cur+addrlen] + b'\x00' * pad)
+            addr = dns.ipv4.inet_ntoa(wire[cur:cur + addrlen] + b'\x00' * pad)
         elif family == 2:
             pad = 16 - addrlen
-            addr = dns.ipv6.inet_ntoa(wire[cur:cur+addrlen] + b'\x00' * pad)
+            addr = dns.ipv6.inet_ntoa(wire[cur:cur + addrlen] + b'\x00' * pad)
         else:
             raise ValueError('unsupported family')
 
index a1b0c3e1176f9c92477b5e09d95d3bb3154384f0..62719dc9931f681787becc7291cfebfa0dd1de55 100644 (file)
@@ -33,7 +33,7 @@ AF_INET = socket.AF_INET
 try:
     AF_INET6 = socket.AF_INET6
 except AttributeError:
-    AF_INET6 = 9999    # type: ignore
+    AF_INET6 = 9999    # type: ignore
 
 
 def inet_pton(family, text):
@@ -96,7 +96,7 @@ def af_for_address(text):
         try:
             dns.ipv6.inet_aton(text, True)
             return AF_INET6
-        except:
+        except Exception:
             raise ValueError
 
 
index ca6386d4d1d24422f507d31fcbd32e96e03daf55..9d4370b619d78a6171ca4c8acf3b4a4dc860143e 100644 (file)
@@ -56,5 +56,5 @@ def inet_aton(text):
     try:
         b = [int(part) for part in parts]
         return struct.pack('BBBB', *b)
-    except:
+    except Exception:
         raise dns.exception.SyntaxError
index fca77912b220025a709b6675e11a8581d0d6e924..5424fcea20d24e5f862fbd26b211903cde2300e3 100644 (file)
@@ -41,12 +41,12 @@ def inet_ntoa(address):
     i = 0
     l = len(hex)
     while i < l:
-        chunk = hex[i : i + 4].decode()
+        chunk = hex[i:i + 4].decode()
         # strip leading zeros.  we do this with an re instead of
         # with lstrip() because lstrip() didn't support chars until
         # python 2.2.2
         m = _leading_zero.match(chunk)
-        if not m is None:
+        if m is not None:
             chunk = m.group(1)
         chunks.append(chunk)
         i += 4
@@ -127,7 +127,7 @@ def inet_aton(text, ignore_scope=False):
     # Get rid of the icky dot-quad syntax if we have it.
     #
     m = _v4_ending.match(text)
-    if not m is None:
+    if m is not None:
         b = dns.ipv4.inet_aton(m.group(2))
         text = (u"{}:{:02x}{:02x}:{:02x}{:02x}".format(m.group(1).decode(),
                                                        b[0], b[1], b[2],
@@ -137,11 +137,11 @@ def inet_aton(text, ignore_scope=False):
     # turn '<whatever>::' into '<whatever>:'
     #
     m = _colon_colon_start.match(text)
-    if not m is None:
+    if m is not None:
         text = text[1:]
     else:
         m = _colon_colon_end.match(text)
-        if not m is None:
+        if m is not None:
             text = text[:-1]
     #
     # Now canonicalize into 8 chunks of 4 hex digits each
index bae0136031402292643dbe3ea1216f794f06d5e6..34adb62d4b18d8e4eb49249dd265581c3ac2c528 100644 (file)
@@ -45,17 +45,20 @@ try:
 except ImportError:
     have_doh = False
 
-
 try:
     import ssl
 except ImportError:
     class ssl(object):    # type: ignore
+
         class WantReadException(Exception):
             pass
+
         class WantWriteException(Exception):
             pass
+
         class SSLSocket(object):
             pass
+
         def create_default_context(self, *args, **kwargs):
             raise Exception('no ssl support')
 
@@ -320,7 +323,7 @@ def https(q, where, timeout=None, port=443, af=None, source=None, source_port=0,
             })
             response = session.post(url, headers=headers, data=wire,
                                     stream=True, timeout=timeout,
-                                      verify=verify)
+                                    verify=verify)
         else:
             wire = base64.urlsafe_b64encode(wire).decode('utf-8').strip("=")
             url += "?dns={}".format(wire)
@@ -867,8 +870,9 @@ def xfr(where, zone, rdtype=dns.rdatatype.AXFR, rdclass=dns.rdataclass.IN,
                 (l,) = struct.unpack("!H", ldata)
                 wire = _net_read(s, l, mexpiration)
             is_ixfr = (rdtype == dns.rdatatype.IXFR)
-            r = dns.message.from_wire(wire, keyring=q.keyring, request_mac=q.mac,
-                                      xfr=True, origin=origin, tsig_ctx=tsig_ctx,
+            r = dns.message.from_wire(wire, keyring=q.keyring,
+                                      request_mac=q.mac, xfr=True,
+                                      origin=origin, tsig_ctx=tsig_ctx,
                                       multi=True, first=first,
                                       one_rr_per_rrset=is_ixfr)
             rcode = r.rcode()
@@ -911,8 +915,8 @@ def xfr(where, zone, rdtype=dns.rdatatype.AXFR, rdclass=dns.rdataclass.IN,
                         delete_mode = not delete_mode
                     #
                     # If this SOA RRset is equal to the first we saw then we're
-                    # finished. If this is an IXFR we also check that we're seeing
-                    # the record in the expected part of the response.
+                    # finished. If this is an IXFR we also check that we're
+                    # seeing the record in the expected part of the response.
                     #
                     if rrset == soa_rrset and \
                             (rdtype == dns.rdatatype.AXFR or
index 2ca3a15f39a505aceddf027ae6643fb81d882d50..219e50f54778efbb7e1f63cf378593e82bfb9385 100644 (file)
@@ -10,7 +10,7 @@ from requests.sessions import Session
 try:
     import ssl
 except ImportError:
-    class ssl(object): # type: ignore
+    class ssl(object):    # type: ignore
         SSLContext : Dict = {}
 
 have_doh: bool
index 22fa4873ac90388e5feb678ae4144548f0e7ec4c..150a047f1b3149360c3ad290ed34199889c53c51 100644 (file)
@@ -274,8 +274,8 @@ def is_singleton(rdtype):
         return True
     return False
 
-
-def register_type(rdtype, rdtype_text, is_singleton=False):  # pylint: disable=redefined-outer-name
+# pylint: disable=redefined-outer-name
+def register_type(rdtype, rdtype_text, is_singleton=False):
     """Dynamically register an rdatatype.
 
     *rdtype*, an ``int``, the rdatatype to register.
index 44d23ada27f5b584b21dce6a0ca3a74e13222939..1fa5ecfd0b18ae756931412847525eeaf82f3bad 100644 (file)
@@ -22,4 +22,4 @@ class AVC(dns.rdtypes.txtbase.TXTBase):
 
     """AVC record"""
 
-    # See: U{http://www.iana.org/assignments/dns-parameters/AVC/avc-completed-template}
+    # See: IANA dns parameters for AVC
index d28ef3031f61b11dd6baa6ab477ed0b69b4d0be8..4969509e0c7d8480f4ca2b7fa0544e4b83c0b450 100644 (file)
@@ -73,8 +73,8 @@ class GPOS(dns.rdata.Rdata):
 
     def to_text(self, origin=None, relativize=True, **kw):
         return '{} {} {}'.format(self.latitude.decode(),
-                             self.longitude.decode(),
-                             self.altitude.decode())
+                                 self.longitude.decode(),
+                                 self.altitude.decode())
 
     @classmethod
     def from_text(cls, rdclass, rdtype, tok, origin=None, relativize=True,
index e49dac662a23be80d948904d52521c6b1e813973..4df58ad2474045dbfa8caf95b7b522c6422cbba9 100644 (file)
@@ -44,7 +44,7 @@ class ISDN(dns.rdata.Rdata):
     def to_text(self, origin=None, relativize=True, **kw):
         if self.subaddress:
             return '"{}" "{}"'.format(dns.rdata._escapify(self.address),
-                                  dns.rdata._escapify(self.subaddress))
+                                      dns.rdata._escapify(self.subaddress))
         else:
             return '"%s"' % dns.rdata._escapify(self.address)
 
index dc768de1fe7ae283746a9adcf27e81dc59223bf3..a346cacb687dff9535441f4c0db3f0e8c10f0576 100644 (file)
@@ -52,7 +52,7 @@ def _float_to_tuple(what):
         what *= -1
     else:
         sign = 1
-    what = round(what * 3600000) # pylint: disable=round-builtin
+    what = round(what * 3600000)  # pylint: disable=round-builtin
     degrees = int(what // 3600000)
     what -= degrees * 3600000
     minutes = int(what // 60000)
index 9c620ea030d1f955f24e36988cb0c431be5bf951..42b72e5b044ad1a94ca3f731817cf5720f418454 100644 (file)
@@ -55,11 +55,11 @@ class A(dns.rdtypes.mxbase.MXBase):
 
     @classmethod
     def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin=None):
-        (domain, cused) = dns.name.from_wire(wire[: current + rdlen-2],
-                                               current)
+        (domain, cused) = dns.name.from_wire(wire[:current + rdlen - 2],
+                                             current)
         current += cused
-        (address,) = struct.unpack('!H', wire[current: current + 2])
-        if cused+2 != rdlen:
+        (address,) = struct.unpack('!H', wire[current:current + 2])
+        if cused + 2 != rdlen:
             raise dns.exception.FormError
         if origin is not None:
             domain = domain.relativize(origin)
index 9bba20836897dd506af8805f91c1365ae9aa75da..674f5e99e083c451669b11ed442b1358414050e6 100644 (file)
@@ -28,7 +28,7 @@ class IPSECKEY(dns.rdata.Rdata):
 
     """IPSECKEY record"""
 
-    #see: RFC 4025
+    # see: RFC 4025
 
     __slots__ = ['precedence', 'gateway_type', 'algorithm', 'gateway', 'key']
 
index e60e2bec72259afd219393835de2df2b21d665a8..3af35f44d31eebbd0913b9c8f91ab3a223dbce4f 100644 (file)
@@ -78,7 +78,7 @@ class NXDOMAIN(dns.exception.DNSException):
     @property
     def canonical_name(self):
         """Return the unresolved canonical name."""
-        if not 'qnames' in self.kwargs:
+        if 'qnames' not in self.kwargs:
             raise TypeError("parametrized exception required")
         IN = dns.rdataclass.IN
         CNAME = dns.rdatatype.CNAME
@@ -876,7 +876,7 @@ class Resolver(object):
         all_nxdomain = True
         nxdomain_responses = {}
         start = time.time()
-        _qname = None # make pylint happy
+        _qname = None  # make pylint happy
         for _qname in qnames_to_try:
             if self.cache:
                 answer = self.cache.get((_qname, rdtype, rdclass))
@@ -922,21 +922,21 @@ class Resolver(object):
                         else:
                             tcp_attempt = tcp
                             if tcp:
-                                response = dns.query.tcp(request, nameserver,
-                                                         timeout=timeout,
-                                                         port=port,
-                                                         source=source,
-                                                         source_port=\
-                                                         source_port)
+                                response = \
+                                    dns.query.tcp(request, nameserver,
+                                                  timeout=timeout,
+                                                  port=port,
+                                                  source=source,
+                                                  source_port=source_port)
                             else:
                                 try:
-                                    response = dns.query.udp(request,
-                                                             nameserver,
-                                                             timeout=timeout,
-                                                             port=port,
-                                                             source=source,
-                                                             source_port=\
-                                                             source_port)
+                                    response = \
+                                        dns.query.udp(request,
+                                                      nameserver,
+                                                      timeout=timeout,
+                                                      port=port,
+                                                      source=source,
+                                                      source_port=source_port)
                                 except dns.message.Truncated:
                                     # Response truncated; retry with TCP.
                                     tcp_attempt = True
@@ -1140,7 +1140,7 @@ class Resolver(object):
         ``list``.
         """
         if isinstance(nameservers, list):
-            self._nameservers = nameservers # pylint: disable=attribute-defined-outside-init
+            self._nameservers = nameservers
         else:
             raise ValueError('nameservers must be a list'
                              ' (not a {})'.format(type(nameservers)))
@@ -1288,7 +1288,10 @@ def _getaddrinfo(host=None, service=None, family=socket.AF_UNSPEC, socktype=0,
         return _original_getaddrinfo(host, service, family, socktype,
                                      proto, flags)
     try:
-        af = dns.inet.af_for_address(host)
+        # We don't care about the result of af_for_address(), we're just
+        # calling it so it raises an exception if host is not an IPv4 or
+        # IPv6 address.
+        dns.inet.af_for_address(host)
         return _original_getaddrinfo(host, service, family, socktype,
                                      proto, flags)
     except Exception:
index 2a3f34a0004522a009181ec802a21d2b7ccc6038..be7333c35b9779377d9efc3ed89ff3b292e11fde 100644 (file)
@@ -149,22 +149,14 @@ class Zone(object):
     def __iter__(self):
         return self.nodes.__iter__()
 
-    def iterkeys(self):
-        return self.nodes.keys() # pylint: disable=dict-keys-not-iterating
-
     def keys(self):
-        return self.nodes.keys() # pylint: disable=dict-keys-not-iterating
-
-    def itervalues(self):
-        return self.nodes.values() # pylint: disable=dict-values-not-iterating
+        return self.nodes.keys()  # pylint: disable=dict-keys-not-iterating
 
     def values(self):
-        return self.nodes.values() # pylint: disable=dict-values-not-iterating
+        return self.nodes.values()  # pylint: disable=dict-values-not-iterating
 
     def items(self):
-        return self.nodes.items() # pylint: disable=dict-items-not-iterating
-
-    iteritems = items
+        return self.nodes.items()  # pylint: disable=dict-items-not-iterating
 
     def get(self, key):
         key = self._validate_name(key)
@@ -508,7 +500,7 @@ class Zone(object):
             rdtype = dns.rdatatype.from_text(rdtype)
         if isinstance(covers, str):
             covers = dns.rdatatype.from_text(covers)
-        for (name, node) in self.iteritems(): # pylint: disable=dict-iter-method
+        for (name, node) in self.items():
             for rds in node:
                 if rdtype == dns.rdatatype.ANY or \
                    (rds.rdtype == rdtype and rds.covers == covers):
@@ -538,7 +530,7 @@ class Zone(object):
             rdtype = dns.rdatatype.from_text(rdtype)
         if isinstance(covers, str):
             covers = dns.rdatatype.from_text(covers)
-        for (name, node) in self.iteritems(): # pylint: disable=dict-iter-method
+        for (name, node) in self.items():
             for rds in node:
                 if rdtype == dns.rdatatype.ANY or \
                    (rds.rdtype == rdtype and rds.covers == covers):
@@ -589,7 +581,7 @@ class Zone(object):
                 names = list(self.keys())
                 names.sort()
             else:
-                names = self.iterkeys() # pylint: disable=dict-iter-method
+                names = self.keys()
             for n in names:
                 l = self[n].to_text(n, origin=self.origin,
                                     relativize=relativize)
@@ -761,7 +753,7 @@ class _MasterReader(object):
         # Type
         try:
             rdtype = dns.rdatatype.from_text(token.value)
-        except:
+        except Exception:
             raise dns.exception.SyntaxError(
                 "unknown rdatatype '%s'" % token.value)
         n = self.zone.nodes.get(name)
@@ -776,7 +768,7 @@ class _MasterReader(object):
             # Catch and reraise.
             (ty, va) = sys.exc_info()[:2]
             raise va
-        except:
+        except Exception:
             # All exceptions that occur in the processing of rdata
             # are treated as syntax errors.  This is not strictly
             # correct, but it is correct almost all of the time.
@@ -862,7 +854,7 @@ class _MasterReader(object):
             token = self.tok.get()
             if not token.is_identifier():
                 raise dns.exception.SyntaxError
-        except:
+        except Exception:
             raise dns.exception.SyntaxError
 
         # lhs (required)
@@ -871,7 +863,7 @@ class _MasterReader(object):
             token = self.tok.get()
             if not token.is_identifier():
                 raise dns.exception.SyntaxError
-        except:
+        except Exception:
             raise dns.exception.SyntaxError
 
         # TTL
@@ -914,7 +906,7 @@ class _MasterReader(object):
         # lhs (required)
         try:
             rhs = token.value
-        except:
+        except Exception:
             raise dns.exception.SyntaxError
 
         lmod, lsign, loffset, lwidth, lbase = self._parse_modify(lhs)
@@ -959,7 +951,7 @@ class _MasterReader(object):
                 # Catch and reraise.
                 (ty, va) = sys.exc_info()[:2]
                 raise va
-            except:
+            except Exception:
                 # All exceptions that occur in the processing of rdata
                 # are treated as syntax errors.  This is not strictly
                 # correct, but it is correct almost all of the time.