# HG changeset patch # User Waqas Hussain # Date 1244995290 -18000 # Node ID 015d624a2a71469f9d4391046693b139798c595e # Parent 71fbf8a52dcfa41920b723978307676a43625160 util.pluginloader: Initial commit - a plugin resource loader diff -r 71fbf8a52dcf -r 015d624a2a71 util/pluginloader.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/util/pluginloader.lua Sun Jun 14 21:01:30 2009 +0500 @@ -0,0 +1,33 @@ + +local plugin_dir = CFG_PLUGINDIR or "./plugins/"; + +local io_open = io.open; +local loadstring = loadstring; + +module "pluginloader" + +local function load_file(name) + local file, err = io_open(plugin_dir..name); + if not file then return file, err; end + local content = file:read("*a"); + file:close(); + return content, name; +end + +function load_resource(plugin, resource) + if not resource then + resource = "mod_"..plugin..".lua"; + end + local content, err = load_file(plugin.."/"..resource); + if not content then content, err = load_file(resource); end + -- TODO add support for packed plugins + return content, err; +end + +function load_code(plugin, resource) + local content, err = load_resource(plugin, resource); + if not content then return content, err; end + return loadstring(content, err), err; +end + +return _M;