New "import" module to help tidy up all the local declarations at the top of modules

Sat, 04 Oct 2008 02:43:23 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 04 Oct 2008 02:43:23 +0100
changeset 49
1cd2a8db392d
parent 48
d0505310aec5
child 50
56272224ca4c

New "import" module to help tidy up all the local declarations at the top of modules

core/sessionmanager.lua file | annotate | diff | comparison | revisions
main.lua file | annotate | diff | comparison | revisions
util/import.lua file | annotate | diff | comparison | revisions
--- a/core/sessionmanager.lua	Sat Oct 04 02:42:23 2008 +0100
+++ b/core/sessionmanager.lua	Sat Oct 04 02:43:23 2008 +0100
@@ -1,11 +1,9 @@
 
 local tonumber, tostring = tonumber, tostring;
-local ipairs = ipairs;
+local ipairs, print= ipairs, print;
 
-local m_random = math.random;
-local format = string.format;
-
-local print = print;
+local m_random = import("math", "random");
+local format = import("string", "format");
 
 local hosts = hosts;
 
@@ -79,7 +77,7 @@
 						end
  
         			                send("</stream:features>");
-						log("info", "core", "Stream opened successfully");
+						log("info", "Stream opened successfully");
 						session.notopen = nil;
 end
 
--- a/main.lua	Sat Oct 04 02:42:23 2008 +0100
+++ b/main.lua	Sat Oct 04 02:43:23 2008 +0100
@@ -13,6 +13,7 @@
  
 sessions = {};
  
+require "util.import"
 require "core.stanza_dispatch"
 require "core.xmlhandlers"
 require "core.rostermanager"
@@ -24,6 +25,7 @@
 require "net.connhandlers"
 require "util.stanza"
 require "util.jid"
+
  
 -- Locals for faster access --
 local t_insert = table.insert;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/util/import.lua	Sat Oct 04 02:43:23 2008 +0100
@@ -0,0 +1,13 @@
+
+local t_insert = table.insert;
+function import(module, ...)
+	local m = package.loaded[module] or require(module);
+	if type(m) == "table" and ... then
+		local ret = {};
+		for _, f in ipairs{...} do
+			t_insert(ret, m[f]);
+		end
+		return unpack(ret);
+	end
+	return m;
+end

mercurial