From 4b70e4d97a15791a86df22609ca3beebb3f69c75 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 10 Jan 2017 14:01:52 +0530 Subject: [PATCH] Kindle driver: Fix some newer kfx books not being recognized on e-ink kindles, because of a change in how metadata is stored in the kfx format --- src/calibre/ebooks/metadata/kfx.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/metadata/kfx.py b/src/calibre/ebooks/metadata/kfx.py index 8015f58cb0..f6bb24557b 100644 --- a/src/calibre/ebooks/metadata/kfx.py +++ b/src/calibre/ebooks/metadata/kfx.py @@ -252,9 +252,10 @@ def extract_metadata(container_data): metadata[METADATA_PROPERTIES[key]].append(value) elif entity_type == PROP_METADATA2: - for value1 in entity_value[PROP_METADATA3]: - for meta in value1[PROP_METADATA]: - metadata[meta[PROP_METADATA_KEY]].append(meta[PROP_METADATA_VALUE]) + if entity_value is not None: + for value1 in entity_value[PROP_METADATA3]: + for meta in value1[PROP_METADATA]: + metadata[meta[PROP_METADATA_KEY]].append(meta[PROP_METADATA_VALUE]) elif entity_type == PROP_IMAGE and COVER_KEY not in metadata: # assume first image is the cover