74 local show_message, show_warning = prosodyctl.show_message, prosodyctl.show_warning; |
74 local show_message, show_warning = prosodyctl.show_message, prosodyctl.show_warning; |
75 local show_usage = prosodyctl.show_usage; |
75 local show_usage = prosodyctl.show_usage; |
76 local show_yesno = prosodyctl.show_yesno; |
76 local show_yesno = prosodyctl.show_yesno; |
77 local show_prompt = prosodyctl.show_prompt; |
77 local show_prompt = prosodyctl.show_prompt; |
78 local read_password = prosodyctl.read_password; |
78 local read_password = prosodyctl.read_password; |
79 local check_flags = prosodyctl.check_flags; |
79 local execute_command = prosodyctl.execute_command; |
80 local call_luarocks = prosodyctl.call_luarocks; |
|
81 local get_path_custom_plugins = prosodyctl.get_path_custom_plugins; |
|
82 |
80 |
83 local jid_split = require "util.jid".prepped_split; |
81 local jid_split = require "util.jid".prepped_split; |
84 |
82 |
85 local prosodyctl_timeout = (configmanager.get("*", "prosodyctl_timeout") or 5) * 2; |
83 local prosodyctl_timeout = (configmanager.get("*", "prosodyctl_timeout") or 5) * 2; |
86 ----------------------- |
84 ----------------------- |
90 function commands.install(arg) |
88 function commands.install(arg) |
91 if arg[1] == "--help" then |
89 if arg[1] == "--help" then |
92 show_usage([[install]], [[Installs a prosody/luarocks plugin]]); |
90 show_usage([[install]], [[Installs a prosody/luarocks plugin]]); |
93 return 1; |
91 return 1; |
94 end |
92 end |
95 local operation = "install"; |
93 table.insert(arg, "install"); |
96 local tree, mod, dir = check_flags(arg); |
94 execute_command(arg); |
97 if tree then |
|
98 call_luarocks(operation, mod, dir); |
|
99 return 0; |
|
100 else |
|
101 dir = get_path_custom_plugins(prosody.paths.plugins); |
|
102 call_luarocks(operation, mod, dir); |
|
103 return 0; |
|
104 end |
|
105 end |
95 end |
106 |
96 |
107 function commands.remove(arg) |
97 function commands.remove(arg) |
108 if arg[1] == "--help" then |
98 if arg[1] == "--help" then |
109 show_usage([[remove]], [[Removes a module installed in the wroking directory's plugins folder]]); |
99 show_usage([[remove]], [[Removes a module installed in the wroking directory's plugins folder]]); |
110 return 1; |
100 return 1; |
111 end |
101 end |
112 local operation = "remove"; |
102 table.insert(arg, "remove"); |
113 local tree, mod, dir = check_flags(arg); |
103 execute_command(arg); |
114 if tree then |
|
115 call_luarocks(operation, mod, dir); |
|
116 return 0; |
|
117 else |
|
118 dir = get_path_custom_plugins(prosody.paths.plugins); |
|
119 call_luarocks(operation, mod, dir); |
|
120 return 0; |
|
121 end |
|
122 end |
104 end |
123 |
105 |
124 function commands.list(arg) |
106 function commands.list(arg) |
125 if arg[1] == "--help" then |
107 if arg[1] == "--help" then |
126 show_usage([[list]], [[Shows installed rocks]]); |
108 show_usage([[list]], [[Shows installed rocks]]); |
127 return 1; |
109 return 1; |
128 end |
110 end |
129 local operation = "list"; |
111 table.insert(arg, "list"); |
130 local tree, mod, dir = check_flags(arg); |
112 execute_command(arg); |
131 if tree then |
|
132 call_luarocks(operation, mod, dir); |
|
133 return 0; |
|
134 else |
|
135 dir = get_path_custom_plugins(prosody.paths.plugins); |
|
136 call_luarocks(operation, mod, dir); |
|
137 return 0; |
|
138 end |
|
139 end |
113 end |
140 |
114 |
141 function commands.enabled_plugins(arg) |
115 function commands.enabled_plugins(arg) |
142 if arg[1] == "--help" then |
116 if arg[1] == "--help" then |
143 show_usage([[enabled_plugins]], [[Shows plugins currently enabled on prosody]]); |
117 show_usage([[enabled_plugins]], [[Shows plugins currently enabled on prosody]]); |