mirror of https://github.com/kepler155c/opus
33 lines
600 B
Lua
33 lines
600 B
Lua
local Util = require('opus.util')
|
|
|
|
local fs = _G.fs
|
|
|
|
local Config = { }
|
|
|
|
function Config.load(fname, data)
|
|
local filename = 'usr/config/' .. fname
|
|
data = data or { }
|
|
|
|
if not fs.exists('usr/config') then
|
|
fs.makeDir('usr/config')
|
|
end
|
|
|
|
if not fs.exists(filename) then
|
|
Util.writeTable(filename, data)
|
|
else
|
|
local contents = Util.readTable(filename) or
|
|
error('Configuration file is corrupt:' .. filename)
|
|
|
|
Util.merge(data, contents)
|
|
end
|
|
|
|
return data
|
|
end
|
|
|
|
function Config.update(fname, data)
|
|
local filename = 'usr/config/' .. fname
|
|
Util.writeTable(filename, data)
|
|
end
|
|
|
|
return Config
|