From 3aeca93ff33765c231de2e2ab332ba94921c58af Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 13 May 2011 18:17:04 -0600 Subject: [PATCH] ... --- src/calibre/ebooks/metadata/sources/amazon.py | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/calibre/ebooks/metadata/sources/amazon.py b/src/calibre/ebooks/metadata/sources/amazon.py index cf440fe291..b9c27b8fac 100644 --- a/src/calibre/ebooks/metadata/sources/amazon.py +++ b/src/calibre/ebooks/metadata/sources/amazon.py @@ -104,6 +104,17 @@ class Worker(Thread): # Get details {{{ self.ratings_pat = re.compile( r'([0-9.]+) (out of|von|su|étoiles sur) (\d+)( (stars|Sternen|stelle)){0,1}') + lm = { + 'en': ('English', 'Englisch'), + 'fr': ('French', 'Français'), + 'it': ('Italian', 'Italiano'), + 'de': ('German', 'Deutsch'), + } + self.lang_map = {} + for code, names in lm.iteritems(): + for name in names: + self.lang_map[name] = code + def delocalize_datestr(self, raw): if not self.months: return raw @@ -362,14 +373,9 @@ class Worker(Thread): # Get details {{{ for x in reversed(pd.xpath(self.language_xpath)): if x.tail: ans = x.tail.strip() - if ans in ('English', 'Englisch'): - return 'en' - elif ans in ('German', 'Deutsch'): - return 'de' - elif ans in ('Italian', 'Italiano'): - return 'it' - elif ans in ('French', 'Français',): - return 'fr' + ans = self.lang_map.get(ans, None) + if ans: + return ans # }}} class Amazon(Source):