Software / code / prosody
Comparison
prosodyctl @ 12265:47d5233a1fc7
prosodyctl: Return success status code from --help
Only when the help is shown because of invalid arguments should a
non-zero status code be returned to indicate a problem.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 04 Feb 2022 19:01:34 +0100 |
| parent | 12264:ba712f7559dc |
| child | 12266:24b0c4c4e28a |
comparison
equal
deleted
inserted
replaced
| 12264:ba712f7559dc | 12265:47d5233a1fc7 |
|---|---|
| 78 | 78 |
| 79 function commands.install(arg) | 79 function commands.install(arg) |
| 80 local opts = parse_args(arg, only_help); | 80 local opts = parse_args(arg, only_help); |
| 81 if opts.help or not arg[1] then | 81 if opts.help or not arg[1] then |
| 82 show_usage([[install]], [[Installs a prosody/luarocks plugin]]); | 82 show_usage([[install]], [[Installs a prosody/luarocks plugin]]); |
| 83 return 1; | 83 return opts.help and 0 or 1; |
| 84 end | 84 end |
| 85 -- TODO finalize config option name | 85 -- TODO finalize config option name |
| 86 local server = configmanager.get("*", "plugin_server"); | 86 local server = configmanager.get("*", "plugin_server"); |
| 87 if not server then | 87 if not server then |
| 88 show_warning("There is no 'plugin_server' option in the configuration file"); | 88 show_warning("There is no 'plugin_server' option in the configuration file"); |
| 100 | 100 |
| 101 function commands.remove(arg) | 101 function commands.remove(arg) |
| 102 local opts = parse_args(arg, only_help); | 102 local opts = parse_args(arg, only_help); |
| 103 if opts.help or not arg[1] then | 103 if opts.help or not arg[1] then |
| 104 show_usage([[remove]], [[Removes a module installed in the working directory's plugins folder]]); | 104 show_usage([[remove]], [[Removes a module installed in the working directory's plugins folder]]); |
| 105 return 1; | 105 return opts.help and 0 or 1; |
| 106 end | 106 end |
| 107 show_message("Removing %s from %s", arg[1], prosody.paths.installer); | 107 show_message("Removing %s from %s", arg[1], prosody.paths.installer); |
| 108 local ret = call_luarocks("remove", arg[1]); | 108 local ret = call_luarocks("remove", arg[1]); |
| 109 return ret; | 109 return ret; |
| 110 end | 110 end |
| 111 | 111 |
| 112 function commands.list(arg) | 112 function commands.list(arg) |
| 113 local opts = parse_args(arg, only_help); | 113 local opts = parse_args(arg, only_help); |
| 114 if opts.help then | 114 if opts.help then |
| 115 show_usage([[list]], [[Shows installed rocks]]); | 115 show_usage([[list]], [[Shows installed rocks]]); |
| 116 return 1; | 116 return 0; |
| 117 end | 117 end |
| 118 local ret = call_luarocks("list", arg[1]); | 118 local ret = call_luarocks("list", arg[1]); |
| 119 return ret; | 119 return ret; |
| 120 end | 120 end |
| 121 | 121 |
| 122 function commands.adduser(arg) | 122 function commands.adduser(arg) |
| 123 local opts = parse_args(arg, only_help); | 123 local opts = parse_args(arg, only_help); |
| 124 if opts.help or not arg[1] then | 124 if opts.help or not arg[1] then |
| 125 show_usage([[adduser JID]], [[Create the specified user account in Prosody]]); | 125 show_usage([[adduser JID]], [[Create the specified user account in Prosody]]); |
| 126 return 1; | 126 return opts.help and 0 or 1; |
| 127 end | 127 end |
| 128 local user, host = jid_split(arg[1]); | 128 local user, host = jid_split(arg[1]); |
| 129 if not user and host then | 129 if not user and host then |
| 130 show_message [[Failed to understand JID, please supply the JID you want to create]] | 130 show_message [[Failed to understand JID, please supply the JID you want to create]] |
| 131 show_usage [[adduser user@host]] | 131 show_usage [[adduser user@host]] |
| 161 | 161 |
| 162 function commands.passwd(arg) | 162 function commands.passwd(arg) |
| 163 local opts = parse_args(arg, only_help); | 163 local opts = parse_args(arg, only_help); |
| 164 if opts.help or not arg[1] then | 164 if opts.help or not arg[1] then |
| 165 show_usage([[passwd JID]], [[Set the password for the specified user account in Prosody]]); | 165 show_usage([[passwd JID]], [[Set the password for the specified user account in Prosody]]); |
| 166 return 1; | 166 return opts.help and 0 or 1; |
| 167 end | 167 end |
| 168 local user, host = jid_split(arg[1]); | 168 local user, host = jid_split(arg[1]); |
| 169 if not user and host then | 169 if not user and host then |
| 170 show_message [[Failed to understand JID, please supply the JID you want to set the password for]] | 170 show_message [[Failed to understand JID, please supply the JID you want to set the password for]] |
| 171 show_usage [[passwd user@host]] | 171 show_usage [[passwd user@host]] |
| 201 | 201 |
| 202 function commands.deluser(arg) | 202 function commands.deluser(arg) |
| 203 local opts = parse_args(arg, only_help); | 203 local opts = parse_args(arg, only_help); |
| 204 if opts.help or not arg[1] then | 204 if opts.help or not arg[1] then |
| 205 show_usage([[deluser JID]], [[Permanently remove the specified user account from Prosody]]); | 205 show_usage([[deluser JID]], [[Permanently remove the specified user account from Prosody]]); |
| 206 return 1; | 206 return opts.help and 0 or 1; |
| 207 end | 207 end |
| 208 local user, host = jid_split(arg[1]); | 208 local user, host = jid_split(arg[1]); |
| 209 if not user and host then | 209 if not user and host then |
| 210 show_message [[Failed to understand JID, please supply the JID to the user account you want to delete]] | 210 show_message [[Failed to understand JID, please supply the JID to the user account you want to delete]] |
| 211 show_usage [[deluser user@host]] | 211 show_usage [[deluser user@host]] |
| 260 | 260 |
| 261 function commands.start(arg) | 261 function commands.start(arg) |
| 262 local opts = parse_args(arg, only_help); | 262 local opts = parse_args(arg, only_help); |
| 263 if opts.help then | 263 if opts.help then |
| 264 show_usage([[start]], [[Start Prosody]]); | 264 show_usage([[start]], [[Start Prosody]]); |
| 265 return 1; | 265 return 0; |
| 266 end | 266 end |
| 267 service_command_warning("start"); | 267 service_command_warning("start"); |
| 268 local ok, ret = prosodyctl.isrunning(); | 268 local ok, ret = prosodyctl.isrunning(); |
| 269 if not ok then | 269 if not ok then |
| 270 show_message(error_messages[ret]); | 270 show_message(error_messages[ret]); |
| 325 | 325 |
| 326 function commands.status(arg) | 326 function commands.status(arg) |
| 327 local opts = parse_args(arg, only_help); | 327 local opts = parse_args(arg, only_help); |
| 328 if opts.help then | 328 if opts.help then |
| 329 show_usage([[status]], [[Reports the running status of Prosody]]); | 329 show_usage([[status]], [[Reports the running status of Prosody]]); |
| 330 return 1; | 330 return 0; |
| 331 end | 331 end |
| 332 | 332 |
| 333 local ok, ret = prosodyctl.isrunning(); | 333 local ok, ret = prosodyctl.isrunning(); |
| 334 if not ok then | 334 if not ok then |
| 335 show_message(error_messages[ret]); | 335 show_message(error_messages[ret]); |
| 360 | 360 |
| 361 function commands.stop(arg) | 361 function commands.stop(arg) |
| 362 local opts = parse_args(arg, only_help); | 362 local opts = parse_args(arg, only_help); |
| 363 if opts.help then | 363 if opts.help then |
| 364 show_usage([[stop]], [[Stop a running Prosody server]]); | 364 show_usage([[stop]], [[Stop a running Prosody server]]); |
| 365 return 1; | 365 return 0; |
| 366 end | 366 end |
| 367 | 367 |
| 368 service_command_warning("stop"); | 368 service_command_warning("stop"); |
| 369 | 369 |
| 370 if not prosodyctl.isrunning() then | 370 if not prosodyctl.isrunning() then |
| 411 | 411 |
| 412 function commands.about(arg) | 412 function commands.about(arg) |
| 413 local opts = parse_args(arg, only_help); | 413 local opts = parse_args(arg, only_help); |
| 414 if opts.help then | 414 if opts.help then |
| 415 show_usage([[about]], [[Show information about this Prosody installation]]); | 415 show_usage([[about]], [[Show information about this Prosody installation]]); |
| 416 return 1; | 416 return 0; |
| 417 end | 417 end |
| 418 | 418 |
| 419 local pwd = "."; | 419 local pwd = "."; |
| 420 local sorted_pairs = require "util.iterators".sorted_pairs; | 420 local sorted_pairs = require "util.iterators".sorted_pairs; |
| 421 local hg = require"util.mercurial"; | 421 local hg = require"util.mercurial"; |
| 533 | 533 |
| 534 function commands.reload(arg) | 534 function commands.reload(arg) |
| 535 local opts = parse_args(arg, only_help); | 535 local opts = parse_args(arg, only_help); |
| 536 if opts.help then | 536 if opts.help then |
| 537 show_usage([[reload]], [[Reload Prosody's configuration and re-open log files]]); | 537 show_usage([[reload]], [[Reload Prosody's configuration and re-open log files]]); |
| 538 return 1; | 538 return 0; |
| 539 end | 539 end |
| 540 | 540 |
| 541 service_command_warning("reload"); | 541 service_command_warning("reload"); |
| 542 | 542 |
| 543 if not prosodyctl.isrunning() then | 543 if not prosodyctl.isrunning() then |