diff options
Diffstat (limited to 'mediagoblin/tools/exif.py')
-rw-r--r-- | mediagoblin/tools/exif.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/mediagoblin/tools/exif.py b/mediagoblin/tools/exif.py index 2215fb0c..cf739b07 100644 --- a/mediagoblin/tools/exif.py +++ b/mediagoblin/tools/exif.py @@ -84,7 +84,7 @@ def extract_exif(filename): try: with open(filename, 'rb') as image: return process_file(image, details=False) - except IOError: + except OSError: raise BadMediaFail(_('Could not read the image file.')) @@ -100,8 +100,8 @@ def clean_exif(exif): 'JPEGThumbnail', 'Thumbnail JPEGInterchangeFormat'] - return dict((key, _ifd_tag_to_dict(value)) for (key, value) - in six.iteritems(exif) if key not in disabled_tags) + return {key: _ifd_tag_to_dict(value) for (key, value) + in exif.items() if key not in disabled_tags} def _ifd_tag_to_dict(tag): @@ -117,7 +117,7 @@ def _ifd_tag_to_dict(tag): 'field_length': tag.field_length, 'values': None} - if isinstance(tag.printable, six.binary_type): + if isinstance(tag.printable, bytes): # Force it to be decoded as UTF-8 so that it'll fit into the DB data['printable'] = tag.printable.decode('utf8', 'replace') @@ -125,7 +125,7 @@ def _ifd_tag_to_dict(tag): data['values'] = [_ratio_to_list(val) if isinstance(val, Ratio) else val for val in tag.values] else: - if isinstance(tag.values, six.binary_type): + if isinstance(tag.values, bytes): # Force UTF-8, so that it fits into the DB data['values'] = tag.values.decode('utf8', 'replace') else: @@ -140,7 +140,7 @@ def _ratio_to_list(ratio): def get_useful(tags): from collections import OrderedDict - return OrderedDict((key, tag) for (key, tag) in six.iteritems(tags)) + return OrderedDict((key, tag) for (key, tag) in tags.items()) def get_gps_data(tags): @@ -162,7 +162,7 @@ def get_gps_data(tags): 'latitude': tags['GPS GPSLatitude'], 'longitude': tags['GPS GPSLongitude']} - for key, dat in six.iteritems(dms_data): + for key, dat in dms_data.items(): gps_data[key] = ( lambda v: safe_gps_ratio_divide(v[0]) \ |