diff --git a/src/book.cpp b/src/book.cpp index 13128565e..5e1952a43 100644 --- a/src/book.cpp +++ b/src/book.cpp @@ -123,11 +123,14 @@ void Book::updateFromXml(const pugi::xml_node& node, const std::string& baseDir) m_articleCount = strtoull(ATTR("articleCount"), 0, 0); m_mediaCount = strtoull(ATTR("mediaCount"), 0, 0); m_size = strtoull(ATTR("size"), 0, 0) << 10; - const auto favicon = std::make_shared(); - favicon->data = base64_decode(ATTR("favicon")); - favicon->mimeType = ATTR("faviconMimeType"); - favicon->url = ATTR("faviconUrl"); - m_illustrations.assign(1, favicon); + std::string favicon_mimetype = ATTR("faviconMimeType"); + if (! favicon_mimetype.empty()) { + const auto favicon = std::make_shared(); + favicon->data = base64_decode(ATTR("favicon")); + favicon->mimeType = favicon_mimetype; + favicon->url = ATTR("faviconUrl"); + m_illustrations.assign(1, favicon); + } try { m_downloadId = ATTR("downloadId"); } catch(...) {} diff --git a/static/templates/catalog_v2_entry.xml b/static/templates/catalog_v2_entry.xml index 33abd56d6..f86a477f0 100644 --- a/static/templates/catalog_v2_entry.xml +++ b/static/templates/catalog_v2_entry.xml @@ -15,12 +15,10 @@ {{tags}} {{article_count}} {{media_count}} - {{#icons}} - - {{/icons}} - + {{/icons}} {{author_name}} diff --git a/test/data/library.xml b/test/data/library.xml index 52cd9799b..579fb3848 100644 --- a/test/data/library.xml +++ b/test/data/library.xml @@ -14,6 +14,8 @@ articleCount="284" mediaCount="2" size="556" + faviconMimeType="image/png" + favicon="SOME DATA" > unittest;wikipedia;_category:jazz;_pictures:no;_videos:no;_details:no;_ftindex:yes\n" \ " 284\n" \ " 2\n" \ - " \n" \ " \n" \ " \n" \ " Wikipedia\n" \ @@ -711,9 +708,6 @@ std::string maskVariableOPDSFeedData(std::string s) " unittest;wikipedia;_pictures:no;_videos:no;_details:no\n" \ " 284\n" \ " 2\n" \ - " \n" \ " \n" \ " \n" \ " Wikipedia\n" \