Пример #1
0
    def __init__(self, img_name, fp, geometry_string, options_string):
        """ Returns fullpath for thumbnail with geometry and
            options given. First it will try to find the thumbnail
            in filesystem, secondly it will create it.
        """
        self.options = self.configure_options(options_string)
        self.image_name = img_name
        self.image_type = fp.content_type
        thumbnail_name = self.get_name(geometry_string)
        image = Image.open(fp)

        self.thumbnail = FileModel.find_one(name=thumbnail_name)
        if self.thumbnail is None:
            self.thumbnail = self.create(image, geometry_string, thumbnail_name)
Пример #2
0
    def __init__(self, img_name, fp, geometry_string, options_string):
        """ Returns fullpath for thumbnail with geometry and
            options given. First it will try to find the thumbnail
            in filesystem, secondly it will create it.
        """
        self.options = self.configure_options(options_string)
        self.image_name = img_name
        self.image_type = fp.content_type
        thumbnail_name = self.get_name(geometry_string)
        image = Image.open(fp)

        self.thumbnail = FileModel.find_one(name=thumbnail_name)
        if self.thumbnail is None:
            self.thumbnail = self.create(image, geometry_string,
                                         thumbnail_name)
Пример #3
0
    def save(self, thumbnail, thumbnail_name):
        """ Saves the thumbnail with format and quality options.
            Returns thumbnail fullpath
        """
        params = {
            'format': self.options['FORMAT'],
            'quality': self.options['QUALITY'],
            'optimize': 1
        }
        params['progressive'] = (params['format'] == 'JPEG')

        io = StringIO()
        try:
            thumbnail.save(io, **params)
        except IOError:
            params.pop('optimize')
            thumbnail.save(io, **params)
        io.seek(0)
        return FileModel.create(io, self.image_type, name=thumbnail_name)
Пример #4
0
    def save(self, thumbnail, thumbnail_name):
        """ Saves the thumbnail with format and quality options.
            Returns thumbnail fullpath
        """
        params = {
            'format': self.options['FORMAT'],
            'quality': self.options['QUALITY'],
            'optimize': 1
        }
        params['progressive'] = (params['format'] == 'JPEG')


        io = StringIO()
        try:
            thumbnail.save(io, **params)
        except IOError:
            params.pop('optimize')
            thumbnail.save(io, **params)
        io.seek(0)
        return FileModel.create(io, self.image_type, name=thumbnail_name)
Пример #5
0
def thumbnail(img_id, geometry):
    image = FileModel.get(img_id) or abort(http.NOT_FOUND)
    thumbnail = Thumbnail(img_id, image, geometry, '').thumbnail

    return x_accel_gridfs(thumbnail.image)