From bc2d78406c712187c77e5b9333986529d7ac7a63 Mon Sep 17 00:00:00 2001 From: Daniel Grana Date: Wed, 27 Oct 2010 12:36:24 -0200 Subject: [PATCH] MediaPipeline fails to assign crawler.engine.download as download function because crawler is configured after pipelines are loaded --- scrapy/contrib/pipeline/media.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scrapy/contrib/pipeline/media.py b/scrapy/contrib/pipeline/media.py index 2d0cd5053..baaa22fd5 100644 --- a/scrapy/contrib/pipeline/media.py +++ b/scrapy/contrib/pipeline/media.py @@ -20,7 +20,13 @@ class MediaPipeline(object): def __init__(self, download_func=None): self.spiderinfo = {} - self._download_func = download_func or self._default_download_func() + self._cached_download_func = download_func + + @property + def _download_func(self): + if self._cached_download_func is None: + self._cached_download_func = self._default_download_func() + return self._cached_download_func def _default_download_func(self): from scrapy.project import crawler