Software /
code /
prosody
Comparison
util/prosodyctl/shell.lua @ 11520:0a464a6e88c4
util.prosodyctl.shell: Allow calling console commands with fewer shell quotes
E.g. `prosodyctl shell module reload disco example.com` becomes
equivalent to `prosodyctl shell 'module:reload("disco", "example.com")`.
Won't work for every possible command, but reduces the amount of shell
quoting problems for most common commands.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 25 Apr 2021 17:20:58 +0200 |
parent | 11423:0a10bb3b129b |
child | 11521:16caf35f031f |
comparison
equal
deleted
inserted
replaced
11519:df4bd3af4099 | 11520:0a464a6e88c4 |
---|---|
71 os.exit(1); | 71 os.exit(1); |
72 end | 72 end |
73 | 73 |
74 if arg[1] then | 74 if arg[1] then |
75 if arg[2] then | 75 if arg[2] then |
76 -- TODO send each arg[] and wait for reply? | 76 -- prosodyctl shell module reload foo bar.com --> module:reload("foo", "bar.com") |
77 print("Only one command is supported as argument"); | 77 arg[1] = string.format("%s:%s("..string.rep("%q", #arg-2, ", ")..")", table.unpack(arg)); |
78 os.exit(1); | |
79 end | 78 end |
80 | 79 |
81 client.events.add_handler("connected", function() | 80 client.events.add_handler("connected", function() |
82 client.send(st.stanza("repl-input"):text(arg[1])); | 81 client.send(st.stanza("repl-input"):text(arg[1])); |
83 return true; | 82 return true; |