Exemplo n.º 1
0
    def test_basic_tile_purge_cache(self):
        provideHandler(queuePurge)

        request = self.request
        alsoProvides(request, IAttributeAnnotatable)
        setRequest(request)

        registry = queryUtility(IRegistry)
        registry.registerInterface(ICachePurgingSettings)
        provideUtility(registry, IRegistry)

        settings = registry.forInterface(ICachePurgingSettings)
        settings.enabled = True
        settings.cachingProxies = ('http://*****:*****@@collective.cover.basic/test',
                '/c1/@@collective.cover.basic/test/@@images/image',
                '/c1/@@collective.cover.basic/test/@@images/icon',
                '/c1/@@collective.cover.basic/test/@@images/mini',
                '/c1/@@collective.cover.basic/test/@@images/large',
                '/c1/@@collective.cover.basic/test/@@images/listing',
                '/c1/@@collective.cover.basic/test/@@images/thumb',
                '/c1/@@collective.cover.basic/test/@@images/preview',
                '/c1/@@collective.cover.basic/test/@@images/tile']),
            IAnnotations(request)['plone.cachepurging.urls'])
Exemplo n.º 2
0
    def populate_with_object(self, obj):
        super(BasicTile, self).populate_with_object(obj)

        data = {'title': obj.Title(), 'description': obj.Description()}

        if obj.getField('image'):
            data['image'] = NamedImageFile(obj.getImage().data)

        data_mgr = ITileDataManager(self)
        data_mgr.set(data)
Exemplo n.º 3
0
    def populate_with_object(self, obj):
        # check permissions
        super(ImageTile, self).populate_with_object(obj)

        data = {}
        obj = aq_inner(obj)
        try:
            scales = queryMultiAdapter((obj, self.request), name="images")
            data['image'] = NamedImageFile(str(scales.scale('image').data))
        except AttributeError:
            pass
        data_mgr = ITileDataManager(self)
        data_mgr.set(data)
        tile_storage = AnnotationStorage(self)
        obj_storage = BaseAnnotationStorage(obj)
        for k, v in obj_storage.items():
            tile_storage.storage[k] = v
            tile_storage.storage[k]['modified'] = '%f' % time.time()
            scale_data = obj_storage.storage[k]['data'].open().read()
            tile_storage.storage[k]['data'] = NamedImageFile(str(scale_data))
Exemplo n.º 4
0
 def test_image_traverser(self):
     obj = self.portal['my-image']
     data = self.tile.data
     scales = api.content.get_view(u'images', obj, self.request)
     self.tile.data['image'] = NamedImageFile(str(scales.scale('image').data))
     data_mgr = ITileDataManager(self.tile)
     data_mgr.set(data)
     scales = self.cover.restrictedTraverse(
         '@@{0}/{1}/@@images'.format('collective.cover.basic', 'test'))
     img = scales.scale('image')
     self.assertTrue(images_are_equal(str(self.tile.data['image'].data),
                                      str(img.index_html().read())))
Exemplo n.º 5
0
    def populate_with_object(self, obj):
        super(BasicTile, self).populate_with_object(obj)

        data = {'title': obj.Title(),
                'description': obj.Description(),
                'uuid': IUUID(obj, None),
                'date': obj.effective_date and \
                        DT2dt(obj.effective_date) or None,
                'subjects': obj.Subject(),
                }

        # XXX: Implements a better way to detect image fields.
        try:
            data['image'] = NamedImageFile(str(obj.getImage().data))
        except AttributeError:
            try:
                data['image'] = NamedImageFile(str(obj.image.data))
            except AttributeError:
                pass

        data_mgr = ITileDataManager(self)
        data_mgr.set(data)
 def test_image_traverser(self):
     obj = self.portal['my-image']
     data = self.tile.data
     scales = queryMultiAdapter((obj, self.request), name="images")
     self.tile.data['image'] = NamedImageFile(
         str(scales.scale('image').data))
     data_mgr = ITileDataManager(self.tile)
     data_mgr.set(data)
     scales = self.layer['portal'].restrictedTraverse(
         '@@{0}/{1}/@@images'.format('collective.cover.basic',
                                     'test-basic-tile'))
     img = scales.scale('image')
     self.assertTrue(
         images_are_equal(str(self.tile.data['image'].data),
                          str(img.index_html().read())))