This commit is contained in:
Paul Tremberth 2017-03-03 16:00:59 +01:00
parent ecde166ee1
commit f7e11b198e
2 changed files with 7 additions and 8 deletions

View File

@ -114,7 +114,6 @@ class MediaPipeline(object):
request.meta['handle_httpstatus_list'] = self.handle_httpstatus_list
else:
request.meta['handle_httpstatus_all'] = True
return request
def _check_media_to_download(self, result, request, info):
if result is not None:
@ -126,7 +125,7 @@ class MediaPipeline(object):
callback=self.media_downloaded, callbackArgs=(request, info),
errback=self.media_failed, errbackArgs=(request, info))
else:
request = self._modify_media_request(request)
self._modify_media_request(request)
dfd = self.crawler.engine.download(request, info.spider)
dfd.addCallbacks(
callback=self.media_downloaded, callbackArgs=(request, info),

View File

@ -5,7 +5,6 @@ from twisted.python.failure import Failure
from twisted.internet import reactor
from twisted.internet.defer import Deferred, inlineCallbacks
from scrapy.downloadermiddlewares.redirect import RedirectMiddleware
from scrapy.http import Request, Response
from scrapy.settings import Settings
from scrapy.spiders import Spider
@ -88,7 +87,8 @@ class BaseMediaPipelineTestCase(unittest.TestCase):
def test_modify_media_request(self):
request = Request('http://url')
assert self.pipe._modify_media_request(request).meta == {'handle_httpstatus_all': True}
self.pipe._modify_media_request(request)
assert request.meta == {'handle_httpstatus_all': True}
class MediaPipelineAllowRedirectsTestCase(BaseMediaPipelineTestCase):
@ -100,8 +100,8 @@ class MediaPipelineAllowRedirectsTestCase(BaseMediaPipelineTestCase):
def test_modify_media_request(self):
request = Request('http://url')
meta = self.pipe._modify_media_request(request).meta
self.assertIn('handle_httpstatus_list', meta)
self.pipe._modify_media_request(request)
self.assertIn('handle_httpstatus_list', request.meta)
for status, check in [
(200, True),
@ -118,9 +118,9 @@ class MediaPipelineAllowRedirectsTestCase(BaseMediaPipelineTestCase):
(404, True),
(500, True)]:
if check:
self.assertIn(status, meta['handle_httpstatus_list'])
self.assertIn(status, request.meta['handle_httpstatus_list'])
else:
self.assertNotIn(status, meta['handle_httpstatus_list'])
self.assertNotIn(status, request.meta['handle_httpstatus_list'])
class MockedMediaPipeline(MediaPipeline):