provide a method for querying the image size, e.g. for setting HTML attributes or for permission checks

This commit is contained in:
Helmut Merz 2011-08-13 10:37:55 +02:00
parent 24a43d9f6d
commit 3605ec6aa8
2 changed files with 18 additions and 2 deletions

View file

@ -15,11 +15,16 @@ Image Transformations
=====================
>>> rules = dict(
... minithumb='size(96, 72)',
... minithumb='size(96, 1000)',
... )
>>> asset = MediaAssetFile(image1, rules, 'image/jpeg')
>>> asset.getImageSize()
(238, 191)
>>> asset.getImageSize('minithumb')
(96, 77)
>>> asset.transform()

View file

@ -24,6 +24,7 @@ Authors: Johann Schimpf, Erich Seifert.
$Id$
"""
from cStringIO import StringIO
from logging import getLogger
import mimetypes
import os, re, sys
@ -79,6 +80,15 @@ class MediaAssetFile(object):
f.close()
return data
def getImageSize(self, variant=None, data=None):
if data is None:
data = self.getData(variant)
pt = PILTransform()
pt.open(StringIO(data))
if pt.im is None:
return (0, 0)
return pt.im.size
def getContentType(self, variant=None):
contentType = self.getMimeType()
if variant is None:
@ -169,7 +179,8 @@ class MediaAssetFile(object):
return self.dataPath
def getOriginalData(self):
f = self.getDataPath().open()
#f = self.getDataPath().open()
f = open(self.getDataPath(), 'rb')
data = f.read()
f.close()
return data