Le « XMP packet wrapper » est optionnel. On ôte l’assertion qui la voulait coûte...
[Photo.git] / metadata.py
index 0b11842..310392b 100755 (executable)
@@ -19,8 +19,8 @@
 #######################################################################################
 """ Photo metadata read / write module
 
 #######################################################################################
 """ 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 AccessControl import ClassSecurityInfo
@@ -71,7 +71,7 @@ class Metadata :
                        """returns xmp metadata packet with xmpdump call
                        """
                        if self.size :
                        """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()
                                dumpcmd = '%s %s' % (XMPDUMP, blob_file_path)
                                p = Popen(dumpcmd, stdout=PIPE, stderr=PIPE, stdin=PIPE, shell=True)
                                xmp, err = p.communicate()
@@ -137,9 +137,10 @@ class Metadata :
                        node = index.get(path)
 
                        if node :
                        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')
                return ''
 
        security.declarePrivate('getXmpProp')