feat: docsettings:getSidecarDir

This commit is contained in:
Qingping Hou
2016-01-05 21:28:26 -08:00
parent cdbc8e594d
commit 722eaed4b2
2 changed files with 15 additions and 1 deletions

View File

@@ -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

View 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)