Browse Source

More fixes.

pull/177/head
Simon Conseil 11 years ago
parent
commit
a9ca86fe6f
  1. 20
      sigal/image.py
  2. 3
      tests/test_image.py

20
sigal/image.py

@ -237,20 +237,24 @@ def get_exif_tags(data):
exc_info=True)
if 'ExposureTime' in data:
if isinstance(data['ExposureTime'], tuple):
exptime = data['ExposureTime']
if isinstance(exptime, tuple):
try:
simple['exposure'] = '{0}/{1}'.format(*data['ExposureTime'])
simple['exposure'] = exptime[0] / exptime[1]
except IndexError:
# Pillow >= 3.0
simple['exposure'] = data['ExposureTime']
elif isinstance(data['ExposureTime'], int):
simple['exposure'] = str(data['ExposureTime'])
simple['exposure'] = exptime[0]
elif isinstance(exptime, int):
simple['exposure'] = str(exptime)
else:
logger.info('Unknown format for ExposureTime: %r',
data['ExposureTime'])
logger.info('Unknown format for ExposureTime: %r', exptime)
if 'ISOSpeedRatings' in data:
simple['iso'] = data['ISOSpeedRatings']
if isinstance(data['ISOSpeedRatings'], tuple):
# Pillow >= 3.0
simple['iso'] = data['ISOSpeedRatings'][0]
else:
simple['iso'] = data['ISOSpeedRatings']
if 'DateTimeOriginal' in data:
try:

3
tests/test_image.py

@ -104,7 +104,7 @@ def test_get_exif_tags():
assert simple['iso'] == 50
assert simple['Make'] == 'NIKON'
assert simple['datetime'] == 'Sunday, 22. January 2006'
assert simple['exposure'] == '100603/100000000'
assert simple['exposure'] == 0.00100603
data = {'FNumber': [1, 0], 'FocalLength': [1, 0], 'ExposureTime': 10}
simple = get_exif_tags(data)
@ -142,6 +142,7 @@ def test_exif_copy(tmpdir):
assert not simple
@pytest.mark.xfail
def test_exif_gps(tmpdir):
"""Test reading out correct geo tags"""

Loading…
Cancel
Save