From 3bf36f74bf29b6bbfcf26923e9f3f6723041a465 Mon Sep 17 00:00:00 2001 From: Martin Date: Sat, 2 Jul 2016 23:12:56 +0200 Subject: [PATCH] Py3: do not use iter* methods with dict --- dns/zone.py | 15 ++++++++++++--- pylintrc | 1 - 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dns/zone.py b/dns/zone.py index ce2bc1bc..4a73e1e4 100644 --- a/dns/zone.py +++ b/dns/zone.py @@ -34,6 +34,9 @@ import dns.grange from ._compat import string_types, text_type +_py3 = sys.version_info > (3,) + + class BadZone(dns.exception.DNSException): """The DNS zone is malformed.""" @@ -150,16 +153,22 @@ class Zone(object): del self.nodes[key] def __iter__(self): - return self.nodes.iterkeys() + return self.nodes.__iter__() def iterkeys(self): - return self.nodes.iterkeys() + if _py3: + return self.nodes.keys() + else: + return self.nodes.iterkeys() # pylint: disable=dict-iter-method def keys(self): return self.nodes.keys() def itervalues(self): - return self.nodes.itervalues() + if _py3: + return self.nodes.values() + else: + return self.nodes.itervalues() # pylint: disable=dict-iter-method def values(self): return self.nodes.values() diff --git a/pylintrc b/pylintrc index 60344173..74e21961 100644 --- a/pylintrc +++ b/pylintrc @@ -22,7 +22,6 @@ disable= bad-continuation, bare-except, deprecated-method, - dict-iter-method, fixme, getslice-method, global-statement, -- 2.47.3