From c6f29f02c4d5da5ec989d3034597b9133fe04aad Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Tue, 2 Aug 2011 12:02:08 -0300 Subject: [PATCH] tie request to downloader failures, so that they can be accessed from request errbacks --- scrapy/core/engine.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scrapy/core/engine.py b/scrapy/core/engine.py index 9d2e89f7b..ab54cb94e 100644 --- a/scrapy/core/engine.py +++ b/scrapy/core/engine.py @@ -191,12 +191,16 @@ class ExecutionEngine(object): response=response, request=request, spider=spider) return response + def _on_error(failure): + failure.request = request + return failure + def _on_complete(_): slot.nextcall.schedule() return _ dwld = self.downloader.fetch(request, spider) - dwld.addCallback(_on_success) + dwld.addCallbacks(_on_success, _on_error) dwld.addBoth(_on_complete) return dwld