コード例 #1
0
    def make_response(self, image, size, mode, filename=None, *args, **kwargs):
        """
        :param image: image as bytes
        :param size: requested maximum width/height size
        :param mode: one of 'scale', 'fit' or 'crop'
        :param filename: filename
        """
        try:
            fmt = get_format(image)
        except OSError:
            # not a known image file
            raise NotFound()

        self.content_type = "image/png" if fmt == "PNG" else "image/jpeg"
        ext = "." + str(fmt.lower())

        if not filename:
            filename = "image"
        if not filename.lower().endswith(ext):
            filename += ext
        self.filename = filename

        if size:
            image = resize(image, size, size, mode=mode)
            if mode == CROP:
                assert get_size(image) == (size, size)
        else:
            image = image.read()

        return make_response(image)
コード例 #2
0
ファイル: images.py プロジェクト: rmoorman/abilian-core
    def make_response(self, image, size, mode, *args, **kwargs):
        """
        :param image: image as bytes
        :param s: requested maximum width/height size
        """
        from abilian.services.image import resize, get_format

        try:
            fmt = get_format(image)
        except IOError:
            #  not a known image file
            raise NotFound()

        self.content_type = u'image/png' if fmt == 'PNG' else u'image/jpeg'
        ext = u'.' + text_type(fmt.lower())

        filename = kwargs.get('filename')
        if not filename:
            filename = u'image'
        if not filename.lower().endswith(ext):
            filename += ext
        self.filename = filename

        if size:
            image = resize(image, size, size, mode=mode)
            if mode == CROP:
                assert get_size(image) == (size, size)
        else:
            image = image.read()

        return make_response(image)
コード例 #3
0
ファイル: images.py プロジェクト: abilian/abilian-core
    def make_response(self, image, size, mode, filename=None, *args, **kwargs):
        """
        :param image: image as bytes
        :param size: requested maximum width/height size
        :param mode: one of 'scale', 'fit' or 'crop'
        :param filename: filename
        """
        try:
            fmt = get_format(image)
        except IOError:
            # not a known image file
            raise NotFound()

        self.content_type = "image/png" if fmt == "PNG" else "image/jpeg"
        ext = "." + str(fmt.lower())

        if not filename:
            filename = "image"
        if not filename.lower().endswith(ext):
            filename += ext
        self.filename = filename

        if size:
            image = resize(image, size, size, mode=mode)
            if mode == CROP:
                assert get_size(image) == (size, size)
        else:
            image = image.read()

        return make_response(image)
コード例 #4
0
ファイル: images.py プロジェクト: debon/abilian-core
  def make_response(self, image, size, mode, *args, **kwargs):
    """
    :param image: image as bytes
    :param s: requested maximum width/height size
    """
    from abilian.services.image import resize, get_format

    try:
      fmt = get_format(image)
    except IOError:
      #  not a known image file
      raise NotFound()

    self.content_type = u'image/png' if fmt == 'PNG' else u'image/jpeg'
    ext = u'.' + unicode(fmt.lower())

    filename = kwargs.get('filename')
    if not filename:
      filename = u'image'
    if not filename.lower().endswith(ext):
      filename += ext
    self.filename = filename

    if size:
      image = resize(image, size, size, mode=mode)
      if mode == CROP:
        assert get_size(image) == (size, size)
    else:
      image = image.read()

    return make_response(image)
コード例 #5
0
ファイル: widgets.py プロジェクト: debon/abilian-core
  def render_view(self, field, **kwargs):
    data = field.data
    if not data:
      return u''
    try:
      get_format(data)
    except IOError:
      return u''

    width = kwargs.get('width', self.width)
    height = kwargs.get('heigth', self.height)

    thumb = self.get_thumb(data, width, height)
    width, height = image.get_size(thumb)

    tmpl = u'<img src="{{ url }}" width="{{ width }}" height="{{ height }}" />'
    return render_template_string(tmpl,
                                  url=self.get_b64_thumb_url(thumb),
                                  width=width, height=height)