Implement Response.cb_kwargs

This commit is contained in:
Adrián Chaves 2020-02-13 22:33:36 +01:00
parent 4be2bbfe75
commit df937d8280
2 changed files with 22 additions and 0 deletions

View File

@ -672,6 +672,18 @@ Response objects
.. seealso:: :attr:`Request.meta` attribute
.. attribute:: Response.cb_kwargs
A shortcut to the :attr:`Request.cb_kwargs` attribute of the
:attr:`Response.request` object (ie. ``self.request.cb_kwargs``).
Unlike the :attr:`Response.request` attribute, the
:attr:`Response.cb_kwargs` attribute is propagated along redirects and
retries, so you will get the original :attr:`Request.cb_kwargs` sent
from your spider.
.. seealso:: :attr:`Request.cb_kwargs` attribute
.. attribute:: Response.flags
A list that contains flags for this response. Flags are labels used for

View File

@ -24,6 +24,16 @@ class Response(object_ref):
self.request = request
self.flags = [] if flags is None else list(flags)
@property
def cb_kwargs(self):
try:
return self.request.cb_kwargs
except AttributeError:
raise AttributeError(
"Response.cb_kwargs not available, this response "
"is not tied to any request"
)
@property
def meta(self):
try: