From efd0d4f0dea3f036595bdb3d079a6029c6d10323 Mon Sep 17 00:00:00 2001 From: poire-z Date: Fri, 13 Oct 2017 00:31:40 +0200 Subject: [PATCH] calibre 'series' metadata fixes (#3349) Decode XML entities in series metadata and display decimal in series number if any. --- base | 2 +- frontend/apps/filemanager/filemanagerbookinfo.lua | 6 +++++- plugins/coverbrowser.koplugin/listmenu.lua | 3 +++ plugins/coverbrowser.koplugin/mosaicmenu.lua | 3 +++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/base b/base index 5a83793b8..709ca9e1e 160000 --- a/base +++ b/base @@ -1 +1 @@ -Subproject commit 5a83793b8b03919d3cfbdcd42aa221accff0ec6b +Subproject commit 709ca9e1e0b365ed5b60cfddd44d5720c218e493 diff --git a/frontend/apps/filemanager/filemanagerbookinfo.lua b/frontend/apps/filemanager/filemanagerbookinfo.lua index 58af36704..1231e1eb9 100644 --- a/frontend/apps/filemanager/filemanagerbookinfo.lua +++ b/frontend/apps/filemanager/filemanagerbookinfo.lua @@ -121,7 +121,11 @@ function BookInfo:show(file, book_props) table.insert(kv_pairs, { _("Authors:"), authors }) local series = book_props.series - if series == "" or series == nil then series = _("N/A") end + if series == "" or series == nil then + series = _("N/A") + else -- Shorten calibre series decimal number (#4.0 => #4) + series = series:gsub("(#%d+)%.0$", "%1") + end table.insert(kv_pairs, { _("Series:"), series }) local pages = book_props.pages diff --git a/plugins/coverbrowser.koplugin/listmenu.lua b/plugins/coverbrowser.koplugin/listmenu.lua index 239503a2f..0d20660fb 100644 --- a/plugins/coverbrowser.koplugin/listmenu.lua +++ b/plugins/coverbrowser.koplugin/listmenu.lua @@ -392,6 +392,8 @@ function ListMenuItem:update() -- add Series metadata if requested if bookinfo.series then if BookInfoManager:getSetting("append_series_to_title") then + -- Shorten calibre series decimal number (#4.0 => #4) + bookinfo.series = bookinfo.series:gsub("(#%d+)%.0$", "%1") if title then title = title .. " - " .. bookinfo.series else @@ -399,6 +401,7 @@ function ListMenuItem:update() end end if BookInfoManager:getSetting("append_series_to_authors") then + bookinfo.series = bookinfo.series:gsub("(#%d+)%.0$", "%1") if authors then authors = authors .. " - " .. bookinfo.series else diff --git a/plugins/coverbrowser.koplugin/mosaicmenu.lua b/plugins/coverbrowser.koplugin/mosaicmenu.lua index f9a7bb8c5..1868e80e4 100644 --- a/plugins/coverbrowser.koplugin/mosaicmenu.lua +++ b/plugins/coverbrowser.koplugin/mosaicmenu.lua @@ -481,6 +481,8 @@ function MosaicMenuItem:update() -- add Series metadata if requested if bookinfo.series then if BookInfoManager:getSetting("append_series_to_title") then + -- Shorten calibre series decimal number (#4.0 => #4) + bookinfo.series = bookinfo.series:gsub("(#%d+)%.0$", "%1") if bookinfo.title then bookinfo.title = bookinfo.title .. " - " .. bookinfo.series else @@ -488,6 +490,7 @@ function MosaicMenuItem:update() end end if BookInfoManager:getSetting("append_series_to_authors") then + bookinfo.series = bookinfo.series:gsub("(#%d+)%.0$", "%1") if bookinfo.authors then bookinfo.authors = bookinfo.authors .. " - " .. bookinfo.series else