util/datamanager.lua
changeset 452 613c5c6bdce4
parent 267 6303b7454ad0
child 456 27cb85d4059e
equal deleted inserted replaced
449:c0a4a1e63d70 452:613c5c6bdce4
    14 local indent = function(f, i)
    14 local indent = function(f, i)
    15 	for n = 1, i do
    15 	for n = 1, i do
    16 		f:write("\t");
    16 		f:write("\t");
    17 	end
    17 	end
    18 end
    18 end
       
    19 
       
    20 local data_path = "data";
    19 
    21 
    20 module "datamanager"
    22 module "datamanager"
    21 
    23 
    22 
    24 
    23 ---- utils -----
    25 ---- utils -----
    68 	end
    70 	end
    69 end
    71 end
    70 
    72 
    71 ------- API -------------
    73 ------- API -------------
    72 
    74 
       
    75 function set_data_path(path)
       
    76 	data_path = path;
       
    77 end
       
    78 
    73 function getpath(username, host, datastore, ext)
    79 function getpath(username, host, datastore, ext)
    74 	ext = ext or "dat";
    80 	ext = ext or "dat";
    75 	if username then
    81 	if username then
    76 		return format("data/%s/%s/%s.%s", encode(host), datastore, encode(username), ext);
    82 		return format("%s/%s/%s/%s.%s", data_path, encode(host), datastore, encode(username), ext);
    77 	elseif host then
    83 	elseif host then
    78 		return format("data/%s/%s.%s", encode(host), datastore, ext);
    84 		return format("%s/%s/%s.%s", data_path, encode(host), datastore, ext);
    79 	else
    85 	else
    80 		return format("data/%s.%s", datastore, ext);
    86 		return format("%s/%s.%s", data_path, datastore, ext);
    81 	end
    87 	end
    82 end
    88 end
    83 
    89 
    84 function load(username, host, datastore)
    90 function load(username, host, datastore)
    85 	local data, ret = loadfile(getpath(username, host, datastore));
    91 	local data, ret = loadfile(getpath(username, host, datastore));