Spider middleware: simplify deferred errback handling

This commit is contained in:
Eugenio Lacuesta 2020-01-10 18:45:39 -03:00
parent d6e928f472
commit 9770ca35fb
No known key found for this signature in database
GPG Key ID: DA3EF2D0913E9810
1 changed files with 1 additions and 3 deletions

View File

@ -117,14 +117,12 @@ class SpiderMiddlewareManager(MiddlewareManager):
return MutableChain(result, recovered)
def process_callback_output(result):
if isinstance(result, Failure):
return process_spider_exception(result)
recovered = MutableChain()
result = _evaluate_iterable(result, 0, recovered)
return MutableChain(process_spider_output(result), recovered)
dfd = mustbe_deferred(process_spider_input, response)
dfd.addCallbacks(callback=process_callback_output, errback=process_callback_output)
dfd.addCallbacks(callback=process_callback_output, errback=process_spider_exception)
return dfd
def process_start_requests(self, start_requests, spider):