Do not silence download errors when request errback raises an exception

This commit is contained in:
Daniel Graña 2013-09-08 00:15:50 -03:00
parent b326b87154
commit 684cfc0b68
1 changed files with 13 additions and 10 deletions

View File

@ -180,16 +180,19 @@ class Scraper(object):
"""Log and silence errors that come from the engine (typically download
errors that got propagated thru here)
"""
if spider_failure is download_failure:
errmsg = spider_failure.getErrorMessage()
if spider_failure.frames:
log.err(spider_failure, 'Error downloading %s' % request,
level=log.ERROR, spider=spider)
elif errmsg:
log.msg(format='Error downloading %(request)s: %(errmsg)s',
level=log.ERROR, spider=spider, request=request, errmsg=errmsg)
return
return spider_failure
if isinstance(download_failure, Failure):
if download_failure.frames:
log.err(download_failure, 'Error downloading %s' % request,
spider=spider)
else:
errmsg = download_failure.getErrorMessage()
if errmsg:
log.msg(format='Error downloading %(request)s: %(errmsg)s',
level=log.ERROR, spider=spider, request=request,
errmsg=errmsg)
if spider_failure is not download_failure:
return spider_failure
def _itemproc_finished(self, output, item, response, spider):
"""ItemProcessor finished for the given ``item`` and returned ``output``