From 187ca2a518959a96627a55b0331cd77fc4274570 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 26 Nov 2011 10:28:54 +0530 Subject: [PATCH] Fix #896412 (Improvement for #886763 (or a little bug in its implementation)) --- src/calibre/ebooks/metadata/__init__.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/calibre/ebooks/metadata/__init__.py b/src/calibre/ebooks/metadata/__init__.py index d9399e9a3e..8dc14d52df 100644 --- a/src/calibre/ebooks/metadata/__init__.py +++ b/src/calibre/ebooks/metadata/__init__.py @@ -109,12 +109,16 @@ def get_title_sort_pat(lang=None): q = canonicalize_lang(q) if q else q data = tweaks['per_language_title_sort_articles'] ans = data.get(q, None) - if ans is None: - ans = data['eng'] - ans = frozenset(ans + data['eng']) + try: + ans = frozenset(ans) if ans else frozenset(data['eng']) + except: + ans = frozenset((r'A\s+', r'The\s+', r'An\s+')) ans = '|'.join(ans) ans = '^(%s)'%ans - ans = re.compile(ans, re.IGNORECASE) + try: + ans = re.compile(ans, re.IGNORECASE) + except: + ans = re.compile(r'^(A|The|An)\s+', re.IGNORECASE) _title_pats[lang] = ans return ans