Passing keyword arguments to callbacks

This commit is contained in:
Eugenio Lacuesta 2019-01-03 17:20:08 -03:00
parent 094dde6fdb
commit 50a0d87d1e
2 changed files with 3 additions and 2 deletions

View File

@ -143,7 +143,7 @@ class Scraper(object):
def call_spider(self, result, request, spider):
result.request = request
dfd = defer_result(result)
dfd.addCallbacks(request.callback or spider.parse, request.errback)
dfd.addCallbacks(request.callback or spider.parse, request.errback, callbackKeywords=request.kwargs)
return dfd.addCallback(iterate_spider_output)
def handle_spider_error(self, _failure, request, response, spider):

View File

@ -18,7 +18,7 @@ class Request(object_ref):
def __init__(self, url, callback=None, method='GET', headers=None, body=None,
cookies=None, meta=None, encoding='utf-8', priority=0,
dont_filter=False, errback=None, flags=None):
dont_filter=False, errback=None, flags=None, kwargs=None):
self._encoding = encoding # this one has to be set first
self.method = str(method).upper()
@ -41,6 +41,7 @@ class Request(object_ref):
self._meta = dict(meta) if meta else None
self.flags = [] if flags is None else list(flags)
self.kwargs = dict(kwargs) if kwargs else None
@property
def meta(self):