# HG changeset patch # User Thierry Florac # Date 1461249562 -7200 # Node ID 8dddc9a466e9fa08b622463d092e9c3f77ce6163 # Parent 792822dde705b63c191477da35f7ba91034af41c Added marker interface for thumbnails diff -r 792822dde705 -r 8dddc9a466e9 src/pyams_file/interfaces/__init__.py --- a/src/pyams_file/interfaces/__init__.py Thu Apr 21 16:37:47 2016 +0200 +++ b/src/pyams_file/interfaces/__init__.py Thu Apr 21 16:39:22 2016 +0200 @@ -168,6 +168,10 @@ # Thumbnails interfaces # +class IThumbnailFile(Interface): + """Marker interface for thumbnails""" + + class IThumbnailGeometry(Interface): """Image thumbnail geometry interface""" diff -r 792822dde705 -r 8dddc9a466e9 src/pyams_file/thumbnail.py --- a/src/pyams_file/thumbnail.py Thu Apr 21 16:37:47 2016 +0200 +++ b/src/pyams_file/thumbnail.py Thu Apr 21 16:39:22 2016 +0200 @@ -18,7 +18,7 @@ import transaction # import interfaces -from pyams_file.interfaces import IImage, IThumbnail, IThumbnailer, IFileModifiedEvent, IWatermarker +from pyams_file.interfaces import IImage, IThumbnail, IThumbnailer, IFileModifiedEvent, IWatermarker, IThumbnailFile from pyams_utils.interfaces.tales import ITALESExtension from zope.annotation.interfaces import IAnnotations from zope.traversing.interfaces import ITraversable @@ -31,7 +31,7 @@ from pyams_utils.request import check_request from pyramid.events import subscriber from pyramid.threadlocal import get_current_registry -from zope.interface import Interface +from zope.interface import alsoProvides, Interface from zope.lifecycleevent import ObjectAddedEvent, ObjectRemovedEvent, ObjectCreatedEvent from zope.location import locate @@ -170,6 +170,7 @@ thumbnail_image, format = watermarker.add_watermark(thumbnail_image, watermark) # create final image thumbnail_image = FileFactory(thumbnail_image) + alsoProvides(thumbnail_image, IThumbnailFile) registry.notify(ObjectCreatedEvent(thumbnail_image)) self.thumbnails[name] = thumbnail_image thumbnail_size = thumbnail_image.get_image_size()