--- a/degal/exif.py Sun Jun 14 23:43:40 2009 +0300
+++ b/degal/exif.py Sun Jun 14 23:57:50 2009 +0300
@@ -64,11 +64,17 @@
self.image.readMetadata()
def image_tag (self, tag, default=None) :
- try :
- # XXX: this is wrong
- return self.image.interpretedExifValue("Exif.Photo.%s" % tag)
-
- except (IndexError, KeyError) :
+ # try with likely prefixes
+ for prefix in ('Exif.Photo', 'Exif.Image') :
+ try :
+ return self.image.interpretedExifValue("%s.%s" % (prefix, tag))
+
+ except (IndexError, KeyError) :
+ # nope...
+ continue
+
+ else :
+ # not ofund
return default
try :
@@ -90,8 +96,16 @@
self.tags = EXIF.process_file(fh)
def image_tag (self, tag, default=None) :
- # XXX: this is wrong
- return self.tags.get('Image %s' % (tag, ), default)
+ # try with likely prefixes
+ for prefix in ('Image', 'EXIF') :
+ name = prefix + ' ' + tag
+
+ if name in self.tags :
+ return self.tags[name]
+
+ else :
+ # not found
+ return default
# ExifHandler implementations to use, in preference order
EXIF_HANDLERS = [