38 selfjid = bare_jid(conn.jid); |
39 selfjid = bare_jid(conn.jid); |
39 local function handle_results(ok, result) |
40 local function handle_results(ok, result) |
40 for i=1,#result do |
41 for i=1,#result do |
41 print_message(result[i]); |
42 print_message(result[i]); |
42 end |
43 end |
43 if result.last then |
44 if result[reverse and "first" or "last"] then |
44 local fetch_next = opts.everything; |
45 local fetch_next = opts.everything; |
45 if opts.interactive and not fetch_next then |
46 if opts.interactive and not fetch_next then |
46 io.stderr:write "--More--" |
47 io.stderr:write "--More--" |
47 fetch_next = io.read"*l" or print(); |
48 fetch_next = io.read"*l" or print(); |
48 end |
49 end |
49 if fetch_next then |
50 if fetch_next then |
|
51 if reverse then |
|
52 opts.before = result.first and result.first[1]; |
|
53 else |
50 opts.after = result.last; |
54 opts.after = result.last; |
|
55 end |
51 conn:query_archive(opts.to, opts, handle_results); |
56 conn:query_archive(opts.to, opts, handle_results); |
52 return |
57 return |
53 else |
58 else |
54 conn:info("Next page: --after=%s", result.last); |
59 conn:info("Next page: --%s=%s", reverse and "before" or "after", result[reverse and "first" or "last"]); |
55 end |
60 end |
56 end |
61 end |
57 conn:close(); |
62 conn:close(); |
58 end |
63 end |
59 conn:add_plugin"archive"; |
64 conn:add_plugin"archive"; |