aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/configmanager.lua10
-rw-r--r--core/modulemanager.lua5
2 files changed, 10 insertions, 5 deletions
diff --git a/core/configmanager.lua b/core/configmanager.lua
index 5f5648b9..a4a24fad 100644
--- a/core/configmanager.lua
+++ b/core/configmanager.lua
@@ -2,6 +2,7 @@
local _G = _G;
local setmetatable, loadfile, pcall, rawget, rawset, io =
setmetatable, loadfile, pcall, rawget, rawset, io;
+
module "configmanager"
local parsers = {};
@@ -52,18 +53,21 @@ end
function load(filename, format)
format = format or filename:match("%w+$");
+
if parsers[format] and parsers[format].load then
- local f = io.open(filename);
+ local f, err = io.open(filename);
if f then
local ok, err = parsers[format].load(f:read("*a"));
f:close();
return ok, err;
end
+ return f, err;
end
+
if not format then
return nil, "no parser specified";
else
- return false, "no parser";
+ return nil, "no parser for "..(format);
end
end
@@ -118,4 +122,4 @@ do
end
-return _M; \ No newline at end of file
+return _M;
diff --git a/core/modulemanager.lua b/core/modulemanager.lua
index ce34f3e6..31059512 100644
--- a/core/modulemanager.lua
+++ b/core/modulemanager.lua
@@ -1,4 +1,5 @@
+local plugin_dir = CFG_PLUGINDIR or "./plugins/";
local logger = require "util.logger";
local log = logger.init("modulemanager")
@@ -11,8 +12,8 @@ local type = type;
local tostring, print = tostring, print;
+-- We need this to let modules access the real global namespace
local _G = _G;
-local debug = debug;
module "modulemanager"
@@ -30,7 +31,7 @@ function load(host, module_name, config)
if not (host and module_name) then
return nil, "insufficient-parameters";
end
- local mod, err = loadfile("plugins/mod_"..module_name..".lua");
+ local mod, err = loadfile(plugin_dir.."mod_"..module_name..".lua");
if not mod then
log("error", "Unable to load module '%s': %s", module_name or "nil", err or "nil");
return nil, err;