aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOlivier Tilloy <olivier@tilloy.net>2007-10-03 23:15:16 +0200
committerOlivier Tilloy <olivier@tilloy.net>2007-10-03 23:15:16 +0200
commit1d1ad1b25af91d63ef9d2cd4df4925d9da9372f4 (patch)
tree0873c0fad25f47752cbe7f7018050238ec845fd9 /src
parent57bbe34df56ccc0bc53b207c0e34ab2111e568df (diff)
downloadpyexiv2-1d1ad1b25af91d63ef9d2cd4df4925d9da9372f4.tar.gz
Fixed bug #146323 (Multi value fields are broken): when a EXIF tag value is not well formed, containing several short values separated by spaces (e.g. "2 3 4 5"), keep only the first of these values.
Diffstat (limited to 'src')
-rw-r--r--src/pyexiv2.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/pyexiv2.py b/src/pyexiv2.py
index 1cb1586..9cb19cf 100644
--- a/src/pyexiv2.py
+++ b/src/pyexiv2.py
@@ -304,9 +304,12 @@ class Image(libpyexiv2.Image):
# try to guess if the value is a datetime
return StringToDateTime(tagValue)
elif tagType == 'Short':
- return int(tagValue)
+ # In case the tag value is malformed, containing several short
+ # values separated by spaces (e.g. "2 3 4 5", see bug #146323),
+ # keep only the first of these values.
+ return int(tagValue.split()[0])
elif tagType == 'Long' or tagType == 'SLong':
- return long(tagValue)
+ return long(tagValue.split()[0])
# for Rational and SRational types, we use tuples
# TODO: define a rational type?
elif tagType == 'Rational':