1
0
mirror of https://github.com/scrapy/scrapy.git synced 2025-02-25 14:43:46 +00:00

spidermw: add domain name to warning about missing callbacks in requests

This commit is contained in:
Daniel Grana 2009-05-28 21:47:41 -03:00
parent 727e67af5e
commit 87fbc9c58c

View File

@ -81,7 +81,7 @@ class SpiderMiddlewareManager(object):
'Middleware %s must returns an iterable object, got %s ' % \
(fname(method), type(result))
return self._validate_output(request, result)
return self._validate_output(request, result, spider)
dfd = mustbe_deferred(process_spider_input, response)
dfd.addErrback(process_spider_exception)
@ -93,14 +93,14 @@ class SpiderMiddlewareManager(object):
request.deferred.addCallback(arg_to_iter)
return request.deferred
def _validate_output(self, request, result):
def _validate_output(self, request, result, spider):
"""Every request returned by spiders must be instanciate with a callback"""
for r in result:
if isinstance(r, Request) and not r.deferred.callbacks:
log.msg('Ignoring %s returned from spider while processing %s: ' \
'Request has no callback, try adding callback=self.parse ' \
'argument when instanciating Request objects inside your spiders' \
% (r, request), level=log.WARNING)
% (r, request), level=log.WARNING, domain=spider.domain_name)
continue
yield r