#######################################################################################
""" Photo metadata read / write module
-$Id: metadata.py 1272 2009-08-11 08:57:35Z pin $
-$URL: http://svn.luxia.fr/svn/labo/projects/zope/Photo/trunk/metadata.py $
+
+
"""
from AccessControl import ClassSecurityInfo
+from Acquisition import aq_base
from Globals import InitializeClass
from AccessControl.Permissions import view
from ZODB.interfaces import BlobError
"""returns xmp metadata packet with xmpdump call
"""
if self.size :
- blob_file_path = self.bdata._current_filename()
+ blob_file_path = self.bdata._p_blob_uncommitted or self.bdata._p_blob_committed
dumpcmd = '%s %s' % (XMPDUMP, blob_file_path)
p = Popen(dumpcmd, stdout=PIPE, stderr=PIPE, stdin=PIPE, shell=True)
xmp, err = p.communicate()
node = index.get(path)
if node :
- firstLi = node['rdf:Alt/rdf:li']
- assert firstLi.unique, "More than one rdf:Alt (localisation not yet supported)"
- return firstLi.element.content
+ firstLi = node.get('rdf:Alt/rdf:li')
+ if firstLi :
+ assert firstLi.unique, "More than one rdf:Alt (localisation not yet supported)"
+ return firstLi.element.content
return ''
security.declarePrivate('getXmpProp')
root = info['root']
rdfType = info['rdfType'].capitalize()
methName = 'getXmp%s' % rdfType
- meth = getattr(self.aq_base, methName)
+ meth = getattr(aq_base(self), methName)
return meth(name, root)