Lakshmi Narasimhan 269a24c
diff -ur phatch-0.2.7_old/phatch/core/pil.py phatch-0.2.7/phatch/core/pil.py
Lakshmi Narasimhan 269a24c
--- phatch-0.2.7_old/phatch/core/pil.py	2010-03-12 12:29:26.000000000 +0530
Lakshmi Narasimhan 0c94d0e
+++ phatch-0.2.7/phatch/core/pil.py	2011-06-25 14:27:36.487002576 +0530
Lakshmi Narasimhan 269a24c
@@ -180,8 +180,8 @@
Lakshmi Narasimhan 269a24c
             metadata.InfoZexif: image}
Lakshmi Narasimhan 269a24c
         #check format -> readable/writable metadata with pyexiv2
Lakshmi Narasimhan 269a24c
         if exif and exif.is_readable_format(image.format):
Lakshmi Narasimhan 269a24c
-            self.pyexiv2 = pyexiv2.Image(path)
Lakshmi Narasimhan 269a24c
-            self.pyexiv2.readMetadata()
Lakshmi Narasimhan 269a24c
+            self.pyexiv2 = pyexiv2.ImageMetadata(path)
Lakshmi Narasimhan 269a24c
+            self.pyexiv2.read()
Lakshmi Narasimhan 269a24c
             self.writable_exif = exif.is_writable_format_exif(image.format)
Lakshmi Narasimhan 269a24c
             self.writable_iptc = exif.is_writable_format_exif(image.format)
Lakshmi Narasimhan 269a24c
             self.writable = self.writable_exif or self.writable_iptc
Lakshmi Narasimhan 269a24c
diff -ur phatch-0.2.7_old/phatch/lib/imageTable.py phatch-0.2.7/phatch/lib/imageTable.py
Lakshmi Narasimhan 269a24c
--- phatch-0.2.7_old/phatch/lib/imageTable.py	2010-03-12 12:29:26.000000000 +0530
Lakshmi Narasimhan 269a24c
+++ phatch-0.2.7/phatch/lib/imageTable.py	2011-06-24 21:01:51.826422823 +0530
Lakshmi Narasimhan 269a24c
@@ -356,8 +356,8 @@
Lakshmi Narasimhan 269a24c
         for image, image_changes in changes:
Lakshmi Narasimhan 269a24c
             # try to save to image file
Lakshmi Narasimhan 269a24c
             try:
Lakshmi Narasimhan 269a24c
-                exiv2_image = pyexiv2.Image(image.filename)
Lakshmi Narasimhan 269a24c
-                exiv2_image.readMetadata()
Lakshmi Narasimhan 269a24c
+                exiv2_image = pyexiv2.ImageMetadata(image.filename)
Lakshmi Narasimhan 269a24c
+                exiv2_image.read()
Lakshmi Narasimhan 269a24c
                 for key, value in image_changes.items():
Lakshmi Narasimhan 269a24c
                     exiv2_key = str(key.replace(SEPARATOR, '.'))
Lakshmi Narasimhan 269a24c
                     if value:
Lakshmi Narasimhan 269a24c
diff -ur phatch-0.2.7_old/phatch/lib/metadata.py phatch-0.2.7/phatch/lib/metadata.py
Lakshmi Narasimhan 269a24c
--- phatch-0.2.7_old/phatch/lib/metadata.py	2010-03-12 12:29:26.000000000 +0530
Lakshmi Narasimhan 0c94d0e
+++ phatch-0.2.7/phatch/lib/metadata.py	2011-06-25 14:29:13.460944234 +0530
Lakshmi Narasimhan 269a24c
@@ -931,8 +931,8 @@
Lakshmi Narasimhan 269a24c
         """
Lakshmi Narasimhan 269a24c
         format = imtools.get_format(os.path.splitext(filename)[-1][1:])
Lakshmi Narasimhan 269a24c
         if cls._pyexiv2.is_readable_format(format):
Lakshmi Narasimhan 269a24c
-            source = cls.pyexiv2.Image(filename)
Lakshmi Narasimhan 269a24c
-            source.readMetadata()
Lakshmi Narasimhan 269a24c
+            source = cls.pyexiv2.ImageMetadata(filename)
Lakshmi Narasimhan 269a24c
+            source.read()
Lakshmi Narasimhan 269a24c
             if all:
Lakshmi Narasimhan 269a24c
                 source.cacheAllExifTags()
Lakshmi Narasimhan 269a24c
                 source.cacheAllIptcTags()
Lakshmi Narasimhan 269a24c
@@ -1130,7 +1130,7 @@
Lakshmi Narasimhan 269a24c
 
Lakshmi Narasimhan 269a24c
     def _extract_others(self):
Lakshmi Narasimhan 269a24c
         """Extract all other vars"""
Lakshmi Narasimhan 269a24c
-        self._extract_others_from_keys(self._source.exifKeys())
Lakshmi Narasimhan 269a24c
+        self._extract_others_from_keys(self._source.exif_keys)
Lakshmi Narasimhan 269a24c
 
Lakshmi Narasimhan 269a24c
     regex = re.compile('^Exif|^orientation$')
Lakshmi Narasimhan 269a24c
     type = 'Exif'
Lakshmi Narasimhan 269a24c
@@ -1170,7 +1170,7 @@
Lakshmi Narasimhan 269a24c
 
Lakshmi Narasimhan 269a24c
     def _extract_others(self):
Lakshmi Narasimhan 269a24c
         """Extract all other vars"""
Lakshmi Narasimhan 269a24c
-        self._extract_others_from_keys(self._source.iptcKeys())
Lakshmi Narasimhan 269a24c
+        self._extract_others_from_keys(self._source.iptc_keys)
Lakshmi Narasimhan 269a24c
 
Lakshmi Narasimhan 269a24c
     type = 'Iptc'
Lakshmi Narasimhan 269a24c
     regex = re.compile('^Iptc_')
Lakshmi Narasimhan 269a24c
diff -ur phatch-0.2.7_old/phatch/lib/openImage.py phatch-0.2.7/phatch/lib/openImage.py
Lakshmi Narasimhan 269a24c
--- phatch-0.2.7_old/phatch/lib/openImage.py	2010-03-12 12:29:26.000000000 +0530
Lakshmi Narasimhan 269a24c
+++ phatch-0.2.7/phatch/lib/openImage.py	2011-06-24 21:01:51.831423953 +0530
Lakshmi Narasimhan 269a24c
@@ -77,8 +77,8 @@
Lakshmi Narasimhan 269a24c
 def open_image_exif_thumb(uri):
Lakshmi Narasimhan 269a24c
     if pyexiv2:
Lakshmi Narasimhan 269a24c
         try:
Lakshmi Narasimhan 269a24c
-            pyexiv2_image = pyexiv2.Image(uri)
Lakshmi Narasimhan 269a24c
-            pyexiv2_image.readMetadata()
Lakshmi Narasimhan 269a24c
+            pyexiv2_image = pyexiv2.ImageMetadata(uri)
Lakshmi Narasimhan 269a24c
+            pyexiv2_image.read()
Lakshmi Narasimhan 269a24c
             thumb_data = pyexiv2_image.getThumbnailData()
Lakshmi Narasimhan 269a24c
             if thumb_data:
Lakshmi Narasimhan 269a24c
                 return imtools.open_image_data(thumb_data)
Lakshmi Narasimhan 269a24c
diff -ur phatch-0.2.7_old/phatch/lib/_pyexiv2.py phatch-0.2.7/phatch/lib/_pyexiv2.py
Lakshmi Narasimhan 269a24c
--- phatch-0.2.7_old/phatch/lib/_pyexiv2.py	2010-03-12 12:29:26.000000000 +0530
Lakshmi Narasimhan 0c94d0e
+++ phatch-0.2.7/phatch/lib/_pyexiv2.py	2011-06-25 13:45:49.054578121 +0530
Lakshmi Narasimhan 269a24c
@@ -103,8 +103,7 @@
Lakshmi Narasimhan 269a24c
     #verify if there are tags which might break exiv2
Lakshmi Narasimhan 269a24c
     broken_tag = None
Lakshmi Narasimhan 269a24c
 
Lakshmi Narasimhan 269a24c
-    for tag in list(source_pyexiv2_image.exifKeys()) + \
Lakshmi Narasimhan 269a24c
-        list(source_pyexiv2_image.iptcKeys()):
Lakshmi Narasimhan 269a24c
+    for tag in list(source_pyexiv2_image.exif_keys + source_pyexiv2_image.iptc_keys):
Lakshmi Narasimhan 269a24c
         if RE_BROKEN.match(tag):
Lakshmi Narasimhan 269a24c
             broken_tag = RE_BROKEN
Lakshmi Narasimhan 269a24c
             break
Lakshmi Narasimhan 0c94d0e
@@ -147,21 +146,25 @@
Lakshmi Narasimhan 269a24c
     :type thumbdata: string
Lakshmi Narasimhan 269a24c
     """
Lakshmi Narasimhan 269a24c
     #read target
Lakshmi Narasimhan 269a24c
-    target = pyexiv2.Image(target)
Lakshmi Narasimhan 269a24c
-    target.readMetadata()
Lakshmi Narasimhan 269a24c
+    target = pyexiv2.ImageMetadata(target)
Lakshmi Narasimhan 269a24c
+    target.read()
Lakshmi Narasimhan 269a24c
     warnings = []
Lakshmi Narasimhan 269a24c
     written = False
Lakshmi Narasimhan 0c94d0e
+    #print broken_tag
Lakshmi Narasimhan 269a24c
     #copy exif metadata
Lakshmi Narasimhan 269a24c
     if (not source_format or source_format in READ_EXIF) and \
Lakshmi Narasimhan 269a24c
         (not target_format or target_format in WRITE_EXIF):
Lakshmi Narasimhan 269a24c
-        for tag in source_pyexiv2_image.exifKeys():
Lakshmi Narasimhan 269a24c
+        for tag in source_pyexiv2_image.exif_keys:
Lakshmi Narasimhan 269a24c
             if not(broken_tag and broken_tag.match(tag)):
Lakshmi Narasimhan 269a24c
                 try:
Lakshmi Narasimhan 269a24c
                     #the following is more or less the same as
Lakshmi Narasimhan 269a24c
                     #target[tag] = source_pyexiv2_image[tag]
Lakshmi Narasimhan 269a24c
                     #but prevents conversions
Lakshmi Narasimhan 269a24c
-                    target._Image__setExifTag(tag,
Lakshmi Narasimhan 269a24c
-                        source_pyexiv2_image._Image__getExifTag(tag)[1])
Lakshmi Narasimhan 269a24c
+                    #target._Image__setExifTag(tag,
Lakshmi Narasimhan 269a24c
+                    #     source_pyexiv2_image._Image__getExifTag(tag)[1])
Lakshmi Narasimhan 0c94d0e
+                    #targetMessage = '%s %s' % (tag, source_pyexiv2_image[tag].raw_value)
Lakshmi Narasimhan 0c94d0e
+                    #print targetMessage
Lakshmi Narasimhan 0c94d0e
+                    target[tag] = pyexiv2.ExifTag(tag,source_pyexiv2_image[tag].value);
Lakshmi Narasimhan 269a24c
                     written = True
Lakshmi Narasimhan 269a24c
                 except Exception, message:
Lakshmi Narasimhan 269a24c
                     message = '%s: %s' % (tag, message)
Lakshmi Narasimhan 0c94d0e
@@ -169,9 +172,9 @@
Lakshmi Narasimhan 269a24c
     #copy iptc metadata
Lakshmi Narasimhan 269a24c
     if (not source_format or source_format in READ_IPTC) and \
Lakshmi Narasimhan 269a24c
         (not target_format or target_format in WRITE_IPTC):
Lakshmi Narasimhan 269a24c
-        for tag in source_pyexiv2_image.iptcKeys():
Lakshmi Narasimhan 269a24c
+        for tag in source_pyexiv2_image.iptc_keys:
Lakshmi Narasimhan 269a24c
             try:
Lakshmi Narasimhan 269a24c
-                target[tag] = source_pyexiv2_image[tag]
Lakshmi Narasimhan 0c94d0e
+                target[tag] = pyexiv2.IptcTag(tag, source_pyexiv2_image[tag].value);
Lakshmi Narasimhan 269a24c
                 written = True
Lakshmi Narasimhan 269a24c
             except Exception, message:
Lakshmi Narasimhan 269a24c
                 message = '%s: %s' % (tag, message)
Lakshmi Narasimhan 0c94d0e
@@ -180,14 +183,14 @@
Lakshmi Narasimhan 0c94d0e
     if (not source_format or source_format in READ_COMMENT) and \
Lakshmi Narasimhan 0c94d0e
         (not target_format or target_format in WRITE_COMMENT):
Lakshmi Narasimhan 0c94d0e
         try:
Lakshmi Narasimhan 0c94d0e
-            target.setComment(source_pyexiv2_image.getComment())
Lakshmi Narasimhan 0c94d0e
+            target.comment = (source_pyexiv2_image.comment)
Lakshmi Narasimhan 0c94d0e
             written = True
Lakshmi Narasimhan 0c94d0e
         except Exception, message:
Lakshmi Narasimhan 0c94d0e
             warnings.append(message)
Lakshmi Narasimhan 269a24c
     warnings.append(write_thumbdata(target, thumbdata))
Lakshmi Narasimhan 269a24c
     #save metadata (this might rise an exception)
Lakshmi Narasimhan 269a24c
     if written:
Lakshmi Narasimhan 269a24c
-        target.writeMetadata()
Lakshmi Narasimhan 269a24c
+        target.write()
Lakshmi Narasimhan 269a24c
     return '\n'.join(warnings)
Lakshmi Narasimhan 269a24c
 
Lakshmi Narasimhan 269a24c
 
Lakshmi Narasimhan 0c94d0e
@@ -200,6 +203,8 @@
Lakshmi Narasimhan 0c94d0e
     return format
Lakshmi Narasimhan 0c94d0e
 
Lakshmi Narasimhan 0c94d0e
 
Lakshmi Narasimhan 0c94d0e
+# This method won't work. There is no method in pyexiv2 metadata
Lakshmi Narasimhan 0c94d0e
+# called getThumbnailData.
Lakshmi Narasimhan 0c94d0e
 def read_thumbdata(image):
Lakshmi Narasimhan 0c94d0e
     try:
Lakshmi Narasimhan 0c94d0e
         return image.getThumbnailData()
Lakshmi Narasimhan 0c94d0e
@@ -211,7 +216,9 @@
Lakshmi Narasimhan 0c94d0e
     if (thumbdata is None):
Lakshmi Narasimhan 0c94d0e
         return ''
Lakshmi Narasimhan 0c94d0e
     try:
Lakshmi Narasimhan 0c94d0e
-        image.setThumbnailData(thumbdata)
Lakshmi Narasimhan 0c94d0e
+        #print "setting thumbdata"
Lakshmi Narasimhan 0c94d0e
+        image.exif_thumbnail.data = thumbdata
Lakshmi Narasimhan 0c94d0e
+        #image.setThumbnailData(thumbdata)
Lakshmi Narasimhan 0c94d0e
         return ''
Lakshmi Narasimhan 0c94d0e
     except Exception, message:
Lakshmi Narasimhan 0c94d0e
         return unicode(message)
Lakshmi Narasimhan 0c94d0e
@@ -234,7 +241,7 @@
Lakshmi Narasimhan 0c94d0e
 def flush(image, thumbdata):
Lakshmi Narasimhan 0c94d0e
     warnings = [write_thumbdata(image, thumbdata)]
Lakshmi Narasimhan 0c94d0e
     try:
Lakshmi Narasimhan 0c94d0e
-        image.writeMetadata()
Lakshmi Narasimhan 0c94d0e
+        image.write()
Lakshmi Narasimhan 0c94d0e
     except Exception, message:
Lakshmi Narasimhan 0c94d0e
         warnings.append(unicode(message))
Lakshmi Narasimhan 0c94d0e
     return '\n'.join(warnings)
Lakshmi Narasimhan 269a24c
diff -ur phatch-0.2.7_old/tests/test_suite/utils.py phatch-0.2.7/tests/test_suite/utils.py
Lakshmi Narasimhan 269a24c
--- phatch-0.2.7_old/tests/test_suite/utils.py	2010-03-12 12:29:26.000000000 +0530
Lakshmi Narasimhan 269a24c
+++ phatch-0.2.7/tests/test_suite/utils.py	2011-06-24 21:01:51.834424631 +0530
Lakshmi Narasimhan 269a24c
@@ -168,12 +168,12 @@
Lakshmi Narasimhan 269a24c
     """Compare images metadata"""
Lakshmi Narasimhan 269a24c
     try:
Lakshmi Narasimhan 269a24c
         import pyexiv2
Lakshmi Narasimhan 269a24c
-        image1 = pyexiv2.Image(image1_path)
Lakshmi Narasimhan 269a24c
-        image1.readMetadata()
Lakshmi Narasimhan 269a24c
-        image2 = pyexiv2.Image(image2_path)
Lakshmi Narasimhan 269a24c
-        image2.readMetadata()
Lakshmi Narasimhan 269a24c
-        metadata1 = sorted([(key, image1[key]) for key in image1.exifKeys()])
Lakshmi Narasimhan 269a24c
-        metadata2 = sorted([(key, image2[key]) for key in image2.exifKeys()])
Lakshmi Narasimhan 269a24c
+        image1 = pyexiv2.ImageMetaData(image1_path)
Lakshmi Narasimhan 269a24c
+        image1.read()
Lakshmi Narasimhan 269a24c
+        image2 = pyexiv2.ImageMetaData(image2_path)
Lakshmi Narasimhan 269a24c
+        image2.read()
Lakshmi Narasimhan 269a24c
+        metadata1 = sorted([(key, image1[key]) for key in image1.exif_keys])
Lakshmi Narasimhan 269a24c
+        metadata2 = sorted([(key, image2[key]) for key in image2.exif_keys])
Lakshmi Narasimhan 269a24c
         return metadata1 == metadata2
Lakshmi Narasimhan 269a24c
     except IOError:
Lakshmi Narasimhan 269a24c
         return True