Beispiel #1
0
 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]])
Beispiel #3
0
    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]])
Beispiel #4
0
    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]])