66 end |
66 end |
67 end |
67 end |
68 |
68 |
69 function load(username, host, datastore) |
69 function load(username, host, datastore) |
70 local data, ret = loadfile(getpath(username, host, datastore)); |
70 local data, ret = loadfile(getpath(username, host, datastore)); |
71 if not data then log("warn", "Failed to load "..datastore.." storage ('"..ret.."') for user: "..username.."@"..host); return nil; end |
71 if not data then |
|
72 log("warn", "Failed to load "..datastore.." storage ('"..ret.."') for user: "..(username or nil).."@"..(host or nil)); |
|
73 return nil; |
|
74 end |
72 setfenv(data, {}); |
75 setfenv(data, {}); |
73 local success, ret = pcall(data); |
76 local success, ret = pcall(data); |
74 if not success then log("error", "Unable to load "..datastore.." storage ('"..ret.."') for user: "..username.."@"..host); return nil; end |
77 if not success then |
|
78 log("error", "Unable to load "..datastore.." storage ('"..ret.."') for user: "..(username or nil).."@"..(host or nil)); |
|
79 return nil; |
|
80 end |
75 return ret; |
81 return ret; |
76 end |
82 end |
77 |
83 |
78 function store(username, host, datastore, data) |
84 function store(username, host, datastore, data) |
79 local f, msg = io_open(getpath(username, host, datastore), "w+"); |
85 local f, msg = io_open(getpath(username, host, datastore), "w+"); |
80 if not f then log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..username.."@"..host); return nil; end |
86 if not f then |
|
87 log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or nil).."@"..(host or nil)); |
|
88 return nil; |
|
89 end |
81 f:write("return "); |
90 f:write("return "); |
82 simplesave(f, data); |
91 simplesave(f, data); |
83 f:close(); |
92 f:close(); |
84 return true; |
93 return true; |
85 end |
94 end |