# HG changeset patch # User Kim Alvefur # Date 1410171624 -7200 # Node ID 1dfd28db10bd651329ec2cbd6238116a271d8ae6 # Parent 45843df81db0937027e882b0fa4e2d474415338c# Parent 896a25ed6b1bdc2a6bc2cb9d3a80ffd70d7f86f3 Merge with MattJ diff -r 896a25ed6b1b -r 1dfd28db10bd clix.lua --- a/clix.lua Sat Feb 08 16:40:00 2014 +0100 +++ b/clix.lua Mon Sep 08 12:20:24 2014 +0200 @@ -10,7 +10,8 @@ -- Global to allow commands to add to it short_opts = { v = "verbose", q = "quiet", t = "to", f = "from", e = "type", - a = "account", p = "password", r = "resource", o = "presence", c = "chatroom", i = "interactive" } + a = "account", p = "password", r = "resource", o = "presence", c = "chatroom", i = "interactive", + f = "file" } if #arg < 1 then print("Command Line XMPP, available commands:"); diff -r 896a25ed6b1b -r 1dfd28db10bd clix/sendfilecontent.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clix/sendfilecontent.lua Mon Sep 08 12:20:24 2014 +0200 @@ -0,0 +1,30 @@ +return function (opts, arg) + if opts.short_help then + print("Send file content"); + return; + end + + local function on_connect(conn) + local function send_message(text) + conn:send(verse.message({ to = opts.to, + type = opts.type or (opts.chatroom and "groupchat") or "chat" }) + :body(text)); + end + if opts.file then + local f, err = io.open(opts.file, "rb") + if not f then + conn:error("Unable to open file: %s", err); + else + local content = f:read("*all") + f:close() + if content:len() < 2000 then + send_message(content); + else + conn:error("File size too large. Cannot send file"); + end + end + end + conn:close(); + end + clix_connect(opts, on_connect); +end diff -r 896a25ed6b1b -r 1dfd28db10bd squishy --- a/squishy Sat Feb 08 16:40:00 2014 +0100 +++ b/squishy Mon Sep 08 12:20:24 2014 +0200 @@ -1,5 +1,6 @@ local commands = { "send"; + "sendfilecontent"; "receive"; "version"; "ping";