From 05b45937fae9089c2ff00c9d514637380a302e3a Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Sat, 2 Nov 2013 12:35:31 +0100 Subject: [PATCH] Bug #1247348. This change might change behavior of something. Before, any int or float that was None or zero returned an empty string. Now only None values do that. The previous behavior did not work properly with zero values in templates, including series indices. --- src/calibre/ebooks/metadata/book/formatter.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/book/formatter.py b/src/calibre/ebooks/metadata/book/formatter.py index 7adbe81016..8284b94714 100644 --- a/src/calibre/ebooks/metadata/book/formatter.py +++ b/src/calibre/ebooks/metadata/book/formatter.py @@ -33,8 +33,7 @@ class SafeFormat(TemplateFormatter): b = self.book.get_user_metadata(key, False) except: b = None - if b and ((b['datatype'] == 'int' and self.book.get(key, 0) == 0) or - (b['datatype'] == 'float' and self.book.get(key, 0.0) == 0.0)): + if (b and b['datatype'] in ['int', 'float'] and self.book.get(key, None) == None): v = '' else: v = self.book.format_field(key, series_with_index=False)[1]