From d65dcd572a32f7127a60168760530ecf630b6d07 Mon Sep 17 00:00:00 2001 From: GRiker Date: Thu, 9 Aug 2012 04:43:42 -0600 Subject: [PATCH] Revised code to include custom column name in generated jacket when custom column contents is None. --- src/calibre/ebooks/oeb/transforms/jacket.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/calibre/ebooks/oeb/transforms/jacket.py b/src/calibre/ebooks/oeb/transforms/jacket.py index 8fcddc7080..3c094190cc 100644 --- a/src/calibre/ebooks/oeb/transforms/jacket.py +++ b/src/calibre/ebooks/oeb/transforms/jacket.py @@ -188,15 +188,22 @@ def render_jacket(mi, output_profile, footer='' ) for key in mi.custom_field_keys(): - try: - display_name, val = mi.format_field_extended(key)[:2] - key = key.replace('#', '_') + display_name, val = mi.format_field_extended(key)[:2] + key = key.replace('#', '_') + if val: args[key] = escape(val) - args[key+'_label'] = escape(display_name) - except: - pass + else: + args[key] = '' + args[key+'_label'] = escape(display_name) + + if False: + print("Custom column values available in jacket template:") + for key in args.keys(): + if key.startswith('_') and not key.endswith('_label'): + print(" %s: %s" % ('#' + key[1:], args[key])) # Used in the comment describing use of custom columns in templates + # Don't change this unless you also change it in template.xhtml args['_genre_label'] = args.get('_genre_label', '{_genre_label}') args['_genre'] = args.get('_genre', '{_genre}')