Replace StopIteration with return for PEP 0479
PEP 0479, https://www.python.org/dev/peps/pep-0479/, makes the following change: "when StopIteration is raised inside a generator, it is replaced it with RuntimeError". The PEP suggests that if raise StopIteration occurs directly in a generator, simply replace it with return. Change-Id: I9bb72936c8d56b338084bb0be7e75aecdf09f8b3 Closes-Bug: #1780827
This commit is contained in:
parent
9761aa17c6
commit
19b8a6e852
|
@ -85,7 +85,7 @@ class RequestHandler(object):
|
|||
|
||||
# TODO(Tim): Answer Type 65XXX queries
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
def _handle_query_error(self, request, rcode):
|
||||
"""
|
||||
|
|
|
@ -64,7 +64,7 @@ class RequestHandler(xfr.XFRMixin):
|
|||
request.question[0].rdclass != dns.rdataclass.IN):
|
||||
LOG.debug("Refusing due to numbers of questions or rdclass")
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
q_rrset = request.question[0]
|
||||
# Handle AXFR and IXFR requests with an AXFR responses for now.
|
||||
|
@ -73,23 +73,23 @@ class RequestHandler(xfr.XFRMixin):
|
|||
if q_rrset.rdtype in (dns.rdatatype.AXFR, dns.rdatatype.IXFR):
|
||||
for response in self._handle_axfr(request):
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
else:
|
||||
for response in self._handle_record_query(request):
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
elif request.opcode() == dns.opcode.NOTIFY:
|
||||
for response in self._handle_notify(request):
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
else:
|
||||
# Unhandled OpCode's include STATUS, IQUERY, UPDATE
|
||||
LOG.debug("Refusing unhandled opcode")
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
def _handle_notify(self, request):
|
||||
"""
|
||||
|
@ -106,7 +106,7 @@ class RequestHandler(xfr.XFRMixin):
|
|||
if len(request.question) != 1:
|
||||
response.set_rcode(dns.rcode.FORMERR)
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
else:
|
||||
question = request.question[0]
|
||||
|
||||
|
@ -121,7 +121,7 @@ class RequestHandler(xfr.XFRMixin):
|
|||
except exceptions.ZoneNotFound:
|
||||
response.set_rcode(dns.rcode.NOTAUTH)
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
notify_addr = request.environ['addr'][0]
|
||||
|
||||
|
@ -134,7 +134,7 @@ class RequestHandler(xfr.XFRMixin):
|
|||
"refusing.", {"name": zone.name, "addr": notify_addr})
|
||||
response.set_rcode(dns.rcode.REFUSED)
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
resolver = dns.resolver.Resolver()
|
||||
# According to RFC we should query the server that sent the NOTIFY
|
||||
|
@ -154,7 +154,7 @@ class RequestHandler(xfr.XFRMixin):
|
|||
response.flags |= dns.flags.AA
|
||||
|
||||
yield response
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
def _handle_query_error(self, request, rcode):
|
||||
"""
|
||||
|
@ -232,14 +232,14 @@ class RequestHandler(xfr.XFRMixin):
|
|||
"Question was %(qr)s", {'qr': q_rrset})
|
||||
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
except exceptions.Forbidden:
|
||||
LOG.warning("Forbidden while handling axfr request. "
|
||||
"Question was %(qr)s", {'qr': q_rrset})
|
||||
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
# The AXFR response needs to have a SOA at the beginning and end.
|
||||
criterion = {'zone_id': zone.id, 'type': 'SOA'}
|
||||
|
@ -306,7 +306,7 @@ class RequestHandler(xfr.XFRMixin):
|
|||
'rrset_name': record[3]})
|
||||
|
||||
yield self._handle_query_error(request, dns.rcode.SERVFAIL)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
else:
|
||||
yield self._finalize_packet(renderer, request)
|
||||
|
@ -315,7 +315,7 @@ class RequestHandler(xfr.XFRMixin):
|
|||
if renderer is not None:
|
||||
yield self._finalize_packet(renderer, request)
|
||||
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
def _finalize_packet(self, renderer, request):
|
||||
renderer.write_header()
|
||||
|
@ -369,13 +369,13 @@ class RequestHandler(xfr.XFRMixin):
|
|||
LOG.info("NotFound, refusing. Question was %(qr)s",
|
||||
{'qr': q_rrset})
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
except exceptions.Forbidden:
|
||||
LOG.info("Forbidden, refusing. Question was %(qr)s",
|
||||
{'qr': q_rrset})
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
try:
|
||||
criterion = self._zone_criterion_from_request(
|
||||
|
@ -386,13 +386,13 @@ class RequestHandler(xfr.XFRMixin):
|
|||
LOG.warning("ZoneNotFound while handling query request. "
|
||||
"Question was %(qr)s", {'qr': q_rrset})
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
except exceptions.Forbidden:
|
||||
LOG.warning("Forbidden while handling query request. "
|
||||
"Question was %(qr)s", {'qr': q_rrset})
|
||||
yield self._handle_query_error(request, dns.rcode.REFUSED)
|
||||
raise StopIteration
|
||||
return
|
||||
|
||||
r_rrset = self._convert_to_rrset(zone, recordset)
|
||||
response.answer = [r_rrset] if r_rrset else []
|
||||
|
|
|
@ -94,7 +94,7 @@ class PeriodicTask(plugin.ExtensionPlugin):
|
|||
|
||||
# Stop fetching if there's no more items
|
||||
if len(items) == 0:
|
||||
raise StopIteration
|
||||
return
|
||||
else:
|
||||
kwargs["marker"] = items[-1].id
|
||||
|
||||
|
|
Loading…
Reference in New Issue