core/modulemanager.lua

changeset 467
66f145f5c932
parent 439
6608ad3a72f3
child 519
cccd610a0ef9
equal deleted inserted replaced
466:0ecfd89c2cc0 467:66f145f5c932
1 1
2 local plugin_dir = CFG_PLUGINDIR or "./plugins/";
2 3
3 local logger = require "util.logger"; 4 local logger = require "util.logger";
4 local log = logger.init("modulemanager") 5 local log = logger.init("modulemanager")
5 6
6 local loadfile, pcall = loadfile, pcall; 7 local loadfile, pcall = loadfile, pcall;
9 local t_insert = table.insert; 10 local t_insert = table.insert;
10 local type = type; 11 local type = type;
11 12
12 local tostring, print = tostring, print; 13 local tostring, print = tostring, print;
13 14
15 -- We need this to let modules access the real global namespace
14 local _G = _G; 16 local _G = _G;
15 local debug = debug;
16 17
17 module "modulemanager" 18 module "modulemanager"
18 19
19 local api = {}; -- Module API container 20 local api = {}; -- Module API container
20 21
28 29
29 function load(host, module_name, config) 30 function load(host, module_name, config)
30 if not (host and module_name) then 31 if not (host and module_name) then
31 return nil, "insufficient-parameters"; 32 return nil, "insufficient-parameters";
32 end 33 end
33 local mod, err = loadfile("plugins/mod_"..module_name..".lua"); 34 local mod, err = loadfile(plugin_dir.."mod_"..module_name..".lua");
34 if not mod then 35 if not mod then
35 log("error", "Unable to load module '%s': %s", module_name or "nil", err or "nil"); 36 log("error", "Unable to load module '%s': %s", module_name or "nil", err or "nil");
36 return nil, err; 37 return nil, err;
37 end 38 end
38 39

mercurial