|
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
|