clix/archive.lua

Mon, 25 Jun 2012 02:41:02 +0200

author
Kim Alvefur <zash@zash.se>
date
Mon, 25 Jun 2012 02:41:02 +0200
changeset 77
22be057cf590
parent 75
8d5c99f46cb8
child 78
bed3cfce7d60
permissions
-rw-r--r--

clix.archive: Remove some debugging code that slipped in

75
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local bare_jid = require"util.jid".bare;
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 return function (opts, arg)
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 if opts.short_help then
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 print("Fetch archived messages");
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 return;
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 local selfjid;
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 local function print_message(m)
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 -- TODO Roster lookup
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 -- TODO Timestamp
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 local a = m.attr;
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 if bare_jid(a.from) == selfjid then
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 print("To ".. bare_jid(a.to));
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 else
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 print("From ".. bare_jid(a.from));
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 print(m:get_child_text"body");
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 print"";
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 local function on_connect(conn)
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 if opts.debug then
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 conn:hook("stanza-out", print);
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 conn:hook("stanza", print);
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 selfjid = bare_jid(conn.jid);
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 local function handle_results(ok, result)
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 for i=1,#result do
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 print_message(result[i].message);
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 if result.last then
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 io.stderr:write "--More--"
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 if io.read"*l" then
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 opts.after = result.last;
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36 conn:query_archive(nil, opts, handle_results);
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 return
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
40 conn:close();
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
41 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
42 conn:add_plugin"archive";
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43 -- TODO conn:add_plugin"roster";
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
44 -- c.roster:fetch(function()
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45 conn:query_archive(nil, opts, handle_results);
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
46 end
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
47 clix_connect(opts, on_connect);
8d5c99f46cb8 clix.archive: New plugin, a MAM browser
Kim Alvefur <zash@zash.se>
parents:
diff changeset
48 end

mercurial