From 77284f75284ae7e5f8eb0823cd1f406316e0280b Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Thu, 21 Oct 2010 21:09:47 +0100 Subject: [PATCH] Fix exceptions when referencing invalid fields XXX_index --- src/calibre/ebooks/metadata/book/base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/book/base.py b/src/calibre/ebooks/metadata/book/base.py index 593e161df7..9286226a3e 100644 --- a/src/calibre/ebooks/metadata/book/base.py +++ b/src/calibre/ebooks/metadata/book/base.py @@ -501,13 +501,15 @@ class Metadata(object): if key.startswith('#') and key.endswith('_index'): tkey = key[:-6] # strip the _index cmeta = self.get_user_metadata(tkey, make_copy=False) - if cmeta['datatype'] == 'series': + if cmeta and cmeta['datatype'] == 'series': if self.get(tkey): res = self.get_extra(tkey) return (unicode(cmeta['name']+'_index'), self.format_series_index(res), res, cmeta) else: return (unicode(cmeta['name']+'_index'), '', '', cmeta) + else: + return (key, key, None, None) if key in self.custom_field_keys(): res = self.get(key, None)