From 93d92ee2505d8c8386ddd701484628398995c576 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 29 Sep 2010 18:32:26 -0600 Subject: [PATCH] LibraryThing plugin: Handle non ascii chars correctly --- src/calibre/ebooks/metadata/library_thing.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/calibre/ebooks/metadata/library_thing.py b/src/calibre/ebooks/metadata/library_thing.py index 669d9478a3..7f312da1d9 100644 --- a/src/calibre/ebooks/metadata/library_thing.py +++ b/src/calibre/ebooks/metadata/library_thing.py @@ -12,6 +12,7 @@ import mechanize from calibre import browser, prints from calibre.utils.config import OptionParser from calibre.ebooks.BeautifulSoup import BeautifulSoup +from calibre.ebooks.chardet import strip_encoding_declarations OPENLIBRARY = 'http://covers.openlibrary.org/b/isbn/%s-L.jpg?default=false' @@ -110,6 +111,8 @@ def get_social_metadata(title, authors, publisher, isbn, username=None, +isbn).read() if not raw: return mi + raw = raw.decode('utf-8', 'replace') + raw = strip_encoding_declarations(raw) root = html.fromstring(raw) h1 = root.xpath('//div[@class="headsummary"]/h1') if h1 and not mi.title: