def test_item_fields_default(self): from scrapy.contrib.pipeline.images import ImagesPipeline class TestItem(Item): name = Field() image_urls = Field() images = Field() url = 'http://www.example.com/images/1.jpg' item = TestItem({'name': 'item1', 'image_urls': [url]}) pipeline = ImagesPipeline.from_settings(Settings({'IMAGES_STORE': 's3://example/images/'})) requests = list(pipeline.get_media_requests(item, None)) self.assertEqual(requests[0].url, url) results = [(True, {'url': url})] pipeline.item_completed(results, item, None) self.assertEqual(item['images'], [results[0][1]])
def test_item_fields_default(self): class TestItem(Item): name = Field() image_urls = Field() images = Field() for cls in TestItem, dict: url = "http://www.example.com/images/1.jpg" item = cls({"name": "item1", "image_urls": [url]}) pipeline = ImagesPipeline.from_settings(Settings({"IMAGES_STORE": "s3://example/images/"})) requests = list(pipeline.get_media_requests(item, None)) self.assertEqual(requests[0].url, url) results = [(True, {"url": url})] pipeline.item_completed(results, item, None) self.assertEqual(item["images"], [results[0][1]])
def test_item_fields_default(self): class TestItem(Item): name = Field() image_urls = Field() images = Field() for cls in TestItem, dict: url = 'http://www.example.com/images/1.jpg' item = cls({'name': 'item1', 'image_urls': [url]}) pipeline = ImagesPipeline.from_settings( Settings({'IMAGES_STORE': 's3://example/images/'})) requests = list(pipeline.get_media_requests(item, None)) self.assertEqual(requests[0].url, url) results = [(True, {'url': url})] pipeline.item_completed(results, item, None) self.assertEqual(item['images'], [results[0][1]])
def test_item_fields_override_settings(self): from scrapy.contrib.pipeline.images import ImagesPipeline class TestItem(Item): name = Field() image = Field() stored_image = Field() url = 'http://www.example.com/images/1.jpg' item = TestItem({'name': 'item1', 'image': [url]}) pipeline = ImagesPipeline.from_settings( Settings({ 'IMAGES_STORE': 's3://example/images/', 'IMAGES_URLS_FIELD': 'image', 'IMAGES_RESULT_FIELD': 'stored_image' })) requests = list(pipeline.get_media_requests(item, None)) self.assertEqual(requests[0].url, url) results = [(True, {'url': url})] pipeline.item_completed(results, item, None) self.assertEqual(item['stored_image'], [results[0][1]])