aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOlivier Tilloy <olivier@tilloy.net>2009-03-09 19:53:17 +0100
committerOlivier Tilloy <olivier@tilloy.net>2009-03-09 19:53:17 +0100
commit25152b12cce3f5bc22822a0fd0626f5284350080 (patch)
tree6fd49ed14835703dedbf2e9cfdf60692eaace1f8 /src
parentab8fda2c128eeaa45f71d2e27da7e627c439d251 (diff)
downloadpyexiv2-25152b12cce3f5bc22822a0fd0626f5284350080.tar.gz
EXIF Byte two-ways conversion.
Diffstat (limited to 'src')
-rw-r--r--src/pyexiv2.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/pyexiv2.py b/src/pyexiv2.py
index fbb638c..ccef9b4 100644
--- a/src/pyexiv2.py
+++ b/src/pyexiv2.py
@@ -474,6 +474,9 @@ class ExifTag(MetadataTag):
except TypeError:
raise ExifValueError(value, xtype)
+ elif xtype == 'Byte':
+ return value
+
elif xtype == 'Short':
try:
return int(value)
@@ -502,8 +505,6 @@ class ExifTag(MetadataTag):
except TypeError:
raise ExifValueError(fvalue, xtype)
- # TODO: other types
-
raise ExifValueError(value, xtype)
@staticmethod
@@ -536,6 +537,17 @@ class ExifTag(MetadataTag):
else:
raise ExifValueError(value, xtype)
+ elif xtype == 'Byte':
+ if type(value) is unicode:
+ try:
+ return value.encode('utf-8')
+ except UnicodeEncodeError:
+ raise ExifValueError(value, xtype)
+ elif type(value) is str:
+ return value
+ else:
+ raise ExifValueError(value, xtype)
+
elif xtype == 'Short':
if type(value) is int and value >= 0:
return str(value)
@@ -577,8 +589,6 @@ class ExifTag(MetadataTag):
else:
raise ExifValueError(value, xtype)
- # TODO: other types
-
raise ExifValueError(value, xtype)
def __str__(self):