Hi,
> > UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 2:
> > invalid
> > start byte
> [...]
> > File "/usr/lib/python3/dist-packages/lazygal/metadata.py", line 406, in
> > get_keywords
> > values = self._metadata.get_tag_multiple(key)
> > SystemError: <class 'gobject.Warning'> returned a result with an error set
I do not have the same error.
I have "double free or corruption (out)".
$ exiv2 -g Iptc.Application2.Keywords lazygaltest/sample-bad-iptc-keywords.jpg
Iptc.Application2.Keywords String 5 Anton
Iptc.Application2.Keywords String 5 Bjrn
So this is not a bug in exiv2 which correctly ignores the bad char.
The raw tag reads b'Anton\x1c\x1c\x1c\x1cBj\xf6rn'. It is encoded in 'latin-1'.
>>> b'\xf6'.decode('latin-1')
'ö'
>>> 'ö'.encode('utf-8')
b'\xc3\xb6'
lazygal assumes utf-8 everywhere. I'll see what I can do to ignore this,
Thanks,
Alex