From f280cc956fa7b234212ed995fd7497b29b9ac5ea Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Wed, 22 Sep 2010 20:56:08 +0100 Subject: [PATCH] Fix template bugs introduced by using + instead of '%s' --- src/calibre/ebooks/metadata/book/base.py | 4 ++-- src/calibre/library/save_to_disk.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/calibre/ebooks/metadata/book/base.py b/src/calibre/ebooks/metadata/book/base.py index 39b9b34174..4e78bf5a48 100644 --- a/src/calibre/ebooks/metadata/book/base.py +++ b/src/calibre/ebooks/metadata/book/base.py @@ -43,9 +43,9 @@ class SafeFormat(string.Formatter): ign, v = mi.format_field(key, series_with_index=False) if v is None: return '' - if v is '': + if v == '': return '' - return prefix + v + suffix + return prefix + unicode(v) + suffix except: return key diff --git a/src/calibre/library/save_to_disk.py b/src/calibre/library/save_to_disk.py index 19727deb17..90e5413389 100644 --- a/src/calibre/library/save_to_disk.py +++ b/src/calibre/library/save_to_disk.py @@ -101,7 +101,8 @@ def preprocess_template(template): template = template.decode(preferred_encoding, 'replace') return template -template_value_re = re.compile(r'^([^\|]*(?=\|))(?:\|?)([^\|]*)(?:\|?)((?<=\|).*?)$') +template_value_re = re.compile(r'^([^\|]*(?=\|))(?:\|?)([^\|]*)(?:\|?)((?<=\|).*?)$', + flags= re.UNICODE) def explode_string_template_value(key): try: @@ -120,7 +121,7 @@ class SafeFormat(string.Formatter): try: prefix, key, suffix = explode_string_template_value(key) if kwargs[key]: - return prefix + kwargs[key] + suffix + return prefix + unicode(kwargs[key]) + suffix return '' except: return ''