Le « XMP packet wrapper » est optionnel. On ôte l’assertion qui la voulait coûte...
authorBenoît Pin <benoit.pin@gmail.com>
Thu, 14 Nov 2013 20:05:53 +0000 (21:05 +0100)
committerBenoît Pin <benoit.pin@gmail.com>
Thu, 14 Nov 2013 20:05:53 +0000 (21:05 +0100)
xmp.py

diff --git a/xmp.py b/xmp.py
index 2270eeb..8738e50 100755 (executable)
--- a/xmp.py
+++ b/xmp.py
@@ -72,9 +72,12 @@ class XMP(object) :
                        # tests / unwrap
                        reEncodedHeader = re.compile(self.XMP_HEADER_PATTERN.encode(self.encoding))
                        m = reEncodedHeader.match(packet)
                        # tests / unwrap
                        reEncodedHeader = re.compile(self.XMP_HEADER_PATTERN.encode(self.encoding))
                        m = reEncodedHeader.match(packet)
-                       assert m is not None, "No xmp header found"
-                       xmp = packet[m.end():]
+                       if m is None :
+                               console.warn('XMP packet wrapper not found')
+                               self.xmp = packet
+                               return
 
 
+                       xmp = packet[m.end():]
                        trailer = self.XMP_TRAILER[:-6].encode(self.encoding)  # TODO handle read-only mode
                        trailerPos = xmp.find(trailer)
                        assert trailerPos != -1, "No xmp trailer found"
                        trailer = self.XMP_TRAILER[:-6].encode(self.encoding)  # TODO handle read-only mode
                        trailerPos = xmp.find(trailer)
                        assert trailerPos != -1, "No xmp trailer found"