take modification date from filename if corresponding to format produced by renrot

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@4145 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2011-01-15 13:35:18 +00:00
parent e62d81fab9
commit 0801daf562

View file

@ -34,6 +34,7 @@ from zope.interface import implements
from cybertools.media.asset import MediaAssetFile from cybertools.media.asset import MediaAssetFile
from cybertools.storage.interfaces import IExternalStorage from cybertools.storage.interfaces import IExternalStorage
import cybertools.util.date
from loops.media.interfaces import IMediaAsset from loops.media.interfaces import IMediaAsset
from loops.resource import ExternalFileAdapter from loops.resource import ExternalFileAdapter
from loops.type import TypeInterfaceSourceList from loops.type import TypeInterfaceSourceList
@ -97,6 +98,13 @@ class MediaAsset(MediaAssetFile, ExternalFileAdapter):
if not d: if not d:
dp = self.getDataPath() dp = self.getDataPath()
if dp is not None: if dp is not None:
name, ext = os.path.splitext(os.path.basename(dp))
if len(name) == 14 and name.isdigit():
# filename representing EXIF date as produced by renrot
try:
return cybertools.util.date.strptime(name, '%Y%m%d%H%M%S')
except:
pass
try: try:
return datetime.fromtimestamp(os.path.getmtime(dp)) return datetime.fromtimestamp(os.path.getmtime(dp))
except Exception, e: except Exception, e: