# HG changeset patch # User Tero Marttila # Date 1245013070 -10800 # Node ID 3bed35e79f41077ad2054c21009feb6f016ced3e # Parent 55cb7fc9c8fbc950fab0939f1a62036fb0aa077c fix pyexif2/EXIFpy handlers to try different prefixes diff -r 55cb7fc9c8fb -r 3bed35e79f41 degal/exif.py --- 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 = [