Remove clix.coro.lua now it is safely in revision control history for when I need to revive it

Wed, 06 Jan 2010 18:01:18 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Wed, 06 Jan 2010 18:01:18 +0000
changeset 3
614b5994a1ed
parent 2
fd77e75c4891
child 4
ead275885948

Remove clix.coro.lua now it is safely in revision control history for when I need to revive it

clix.coro.lua file | annotate | diff | comparison | revisions
--- a/clix.coro.lua	Wed Jan 06 17:52:01 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-require "verse"
-require "verse.client"
-
-local command = arg[1];
-
-if not command then
-	print("Command Line XMPP, available commands:");
-	for module in pairs(package.preload) do
-		if module:match("^clix%.") then
-			local m = require(module);
-			m{ "--short-help" };
-		end
-	end
-	return 0;
-end
-
-local ok, m = pcall(require, "clix."..command);
-if not ok then
-	print("Error running command '"..command.."' (run with --debug to see full error)");
-	if arg[2] == "--debug" then
-		print(m);
-	end
-	return 1;
-end
-
-if type(m) ~= "function" then
-	print(command.." is not a valid command");
-	return 1;
-end
-
-local accounts = { default = {} };
-local current_account;
-for line in io.lines(os.getenv("HOME").."/.clix") do
-	line = line:match("^%s*(.-)%s*$");
-	if line:match("^%[") then
-		current_account = line:match("^%[(.-)%]");
-		accounts[current_account] = {};
-		if not current_account then -- This is the first defined account
-			accounts.default = accounts[current_account];
-		end
-	elseif current_account then
-		local k,v = line:match("^(%w+)%s*[:=]%s*(.+)$");
-		accounts[current_account or "default"][k] = v;
-	end
-end
-
-function clix_connect(opts)
-	local account = accounts[opts.account or "default"];
-	if not (account and account.jid) then
-		io.stderr:write("The specified account (", opts.account or "default", ") wasn't found in the config file\n");
-		return nil;
-	end
-	
-	local conn = verse.new();
-	local co_verse = coroutine.create(verse.loop);
-	function conn:go(...) return coroutine.resume(co_verse, ...); end
-	conn:hook("authentication-failure", function (err)
-		io.stderr:write("Authentication failure (",err.condition or "unknown error", ")", err.text and (": "..err.text) or "", "\n");
-		coroutine.yield(nil, "authentication-failure");
-	end);
-	conn:hook("binding-success", function () io.stderr:write("Connected: ", tostring(conn), "\n"); coroutine.yield(conn); end);
-	conn:hook("binding-failure", function (err)
-		io.stderr:write("Authentication failure (",err.condition or "unknown error", ")", err.text and (": "..err.text) or "", "\n");
-		coroutine.yield(nil, "authentication-failure");
-	end);
-	-- Optional config parameters
-	conn.connect_host = account.address;
-	conn.connect_port = account.port;
-	-- Connect!
-	conn:connect_client(account.jid, account.password);
-	return coroutine.resume(co_verse);
-end
-
-table.remove(arg,1);
-
-local short_opts = { v = "verbose", t = "to", f = "from", e = "type", a = "account", p = "password" }
-local opts = {};
-
-for i, opt in ipairs(arg) do
-        if opt:match("^%-") and opt ~= "--" then
-                local name = opt:match("^%-%-?([^%s=]+)()")
-                name = (short_opts[name] or name):gsub("%-+", "_");
-                if name:match("^no_") then
-                        name = name:sub(4, -1);
-                        opts[name] = false;
-                else
-                        opts[name] = opt:match("=(.*)$") or true;
-                end
-        else
-        	-- Remove all the handled args from the arg array
-		for n=1,(i-1) do
-			table.remove(arg, n);
-		end
-		break;
-        end
-end
-
-return m(opts, arg) or 0;
-

mercurial