mirror of
https://github.com/koreader/koreader.git
synced 2025-12-13 20:36:53 +01:00
feat: docsettings:getSidecarDir
This commit is contained in:
@@ -6,6 +6,10 @@ local DocSettings = {}
|
||||
|
||||
local history_dir = DataStorage:getDataDir() .. "/history/"
|
||||
|
||||
function DocSettings:getSidecarDir(doc_path)
|
||||
return doc_path:match("(.*)%.")..".sdr"
|
||||
end
|
||||
|
||||
function DocSettings:getHistoryPath(fullpath)
|
||||
return history_dir .. "[" .. fullpath:gsub("(.*/)([^/]+)","%1] %2"):gsub("/","#") .. ".lua"
|
||||
end
|
||||
@@ -34,7 +38,7 @@ function DocSettings:open(docfile)
|
||||
else
|
||||
history_path = self:getHistoryPath(docfile)
|
||||
|
||||
local sidecar = docfile:match("(.*)%.")..".sdr"
|
||||
local sidecar = self:getSidecarDir(docfile)
|
||||
if lfs.attributes(sidecar, "mode") ~= "directory" then
|
||||
lfs.mkdir(sidecar)
|
||||
end
|
||||
|
||||
10
spec/unit/docsettings_spec.lua
Normal file
10
spec/unit/docsettings_spec.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
require("commonrequire")
|
||||
local doc = require("docsettings")
|
||||
|
||||
describe("docsettings module", function()
|
||||
it("should generate sidecar directory path", function()
|
||||
assert.Equals("../../foo.sdr", doc:getSidecarDir("../../foo.pdf"))
|
||||
assert.Equals("/foo/bar.sdr", doc:getSidecarDir("/foo/bar.pdf"))
|
||||
assert.Equals("baz.sdr", doc:getSidecarDir("baz.pdf"))
|
||||
end)
|
||||
end)
|
||||
Reference in New Issue
Block a user