diff --git a/frontend/document/credocument.lua b/frontend/document/credocument.lua index 7cbeca101..ab648e0df 100644 --- a/frontend/document/credocument.lua +++ b/frontend/document/credocument.lua @@ -422,6 +422,7 @@ function CreDocument:register(registry) registry:addProvider("txt", "application/txt", self) registry:addProvider("epub", "application/epub", self) registry:addProvider("fb2", "application/fb2", self) + registry:addProvider("fb2.zip", "application/zip", self) registry:addProvider("html", "application/html", self) registry:addProvider("htm", "application/htm", self) registry:addProvider("rtf", "application/rtf", self) diff --git a/frontend/document/documentregistry.lua b/frontend/document/documentregistry.lua index cc45e81ca..2e8c79fd6 100644 --- a/frontend/document/documentregistry.lua +++ b/frontend/document/documentregistry.lua @@ -14,9 +14,10 @@ end function DocumentRegistry:getProvider(file) -- TODO: some implementation based on mime types? - local extension = string.lower(string.match(file, ".+%.([^.]+)") or "") for _, provider in ipairs(self.providers) do - if extension == provider.extension then + local suffix = string.sub(file, -string.len(provider.extension) - 1) + if string.lower(suffix) == "."..provider.extension then + -- if extension == provider.extension then return provider.provider end end @@ -60,9 +61,9 @@ end -- load implementations: +require("document/credocument"):register(DocumentRegistry) require("document/pdfdocument"):register(DocumentRegistry) require("document/djvudocument"):register(DocumentRegistry) -require("document/credocument"):register(DocumentRegistry) require("document/picdocument"):register(DocumentRegistry) return DocumentRegistry