provide a method for querying the image size, e.g. for setting HTML attributes or for permission checks
This commit is contained in:
parent
24a43d9f6d
commit
3605ec6aa8
2 changed files with 18 additions and 2 deletions
|
@ -15,11 +15,16 @@ Image Transformations
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
>>> rules = dict(
|
>>> rules = dict(
|
||||||
... minithumb='size(96, 72)',
|
... minithumb='size(96, 1000)',
|
||||||
... )
|
... )
|
||||||
|
|
||||||
>>> asset = MediaAssetFile(image1, rules, 'image/jpeg')
|
>>> asset = MediaAssetFile(image1, rules, 'image/jpeg')
|
||||||
|
|
||||||
|
>>> asset.getImageSize()
|
||||||
|
(238, 191)
|
||||||
|
>>> asset.getImageSize('minithumb')
|
||||||
|
(96, 77)
|
||||||
|
|
||||||
>>> asset.transform()
|
>>> asset.transform()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ Authors: Johann Schimpf, Erich Seifert.
|
||||||
$Id$
|
$Id$
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from cStringIO import StringIO
|
||||||
from logging import getLogger
|
from logging import getLogger
|
||||||
import mimetypes
|
import mimetypes
|
||||||
import os, re, sys
|
import os, re, sys
|
||||||
|
@ -79,6 +80,15 @@ class MediaAssetFile(object):
|
||||||
f.close()
|
f.close()
|
||||||
return data
|
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):
|
def getContentType(self, variant=None):
|
||||||
contentType = self.getMimeType()
|
contentType = self.getMimeType()
|
||||||
if variant is None:
|
if variant is None:
|
||||||
|
@ -169,7 +179,8 @@ class MediaAssetFile(object):
|
||||||
return self.dataPath
|
return self.dataPath
|
||||||
|
|
||||||
def getOriginalData(self):
|
def getOriginalData(self):
|
||||||
f = self.getDataPath().open()
|
#f = self.getDataPath().open()
|
||||||
|
f = open(self.getDataPath(), 'rb')
|
||||||
data = f.read()
|
data = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
return data
|
return data
|
||||||
|
|
Loading…
Add table
Reference in a new issue