From 28c1b8f11331168d7a991f93515aa5df6d091dce Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 19 Jan 2012 09:16:23 +0530 Subject: [PATCH] When reading metadata from Topaz (azw1) files, handle non ascii metadata correctly. Fixes #917419 (Private bug) --- src/calibre/ebooks/metadata/topaz.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/topaz.py b/src/calibre/ebooks/metadata/topaz.py index 4db3a7b955..fab63734c5 100644 --- a/src/calibre/ebooks/metadata/topaz.py +++ b/src/calibre/ebooks/metadata/topaz.py @@ -8,6 +8,7 @@ import StringIO, sys from struct import pack from calibre.ebooks.metadata import MetaInformation +from calibre import force_unicode class StreamSlicer(object): @@ -245,7 +246,9 @@ class MetadataUpdater(object): def get_metadata(self): ''' Return MetaInformation with title, author''' self.get_original_metadata() - return MetaInformation(self.metadata['Title'], [self.metadata['Authors']]) + title = force_unicode(self.metadata['Title'], 'utf-8') + authors = force_unicode(self.metadata['Authors'], 'utf-8').split(';') + return MetaInformation(title, authors) def get_original_metadata(self): offset = self.base + self.topaz_headers['metadata']['blocks'][0]['offset']