Comparison

prosodyctl @ 10161:ea10561e5566

prosodyctl: Corrected the remove and install commands' order
author João Duarte <jvsDuarte08@gmail.com>
date Wed, 24 Jul 2019 05:01:35 -0700
parent 10160:320ae3831b34
child 10162:7a4c15f75deb
comparison
equal deleted inserted replaced
10160:320ae3831b34 10161:ea10561e5566
82 82
83 local prosodyctl_timeout = (configmanager.get("*", "prosodyctl_timeout") or 5) * 2; 83 local prosodyctl_timeout = (configmanager.get("*", "prosodyctl_timeout") or 5) * 2;
84 ----------------------- 84 -----------------------
85 local commands = {}; 85 local commands = {};
86 local command = table.remove(arg, 1); 86 local command = table.remove(arg, 1);
87
88 -- Command to remove a rockspec
89 -- Receives as an argument the name of the plugin to be removed from the plugins folder
90 function commands.remove(arg)
91 if arg[1] == "--help" then
92 show_usage([[make]], [[Removes a module installed in the wroking directory's plugins folder]]);
93 return 1;
94 end
95 local flag = "--tree="
96 -- I'm considering the flag is the first, but there can be many flags
97 if arg[1] and arg[1]:sub(1, #flag) == flag then
98 local dir = arg[1]:match("=(.+)$")
99 print("Removing module "..arg[2].." at "..dir)
100 -- These extra double brackets allow us to correctly process names with spaces
101 os.execute("luarocks remove --tree='"..dir.."' "..arg[2])
102 return 0;
103 else
104 print("Removing "..arg[1].." from "..prosody.paths.plugins)
105 os.execute("luarocks --tree='"..prosody.paths.plugins.."' remove "..arg[1])
106 print("Done!")
107 return 0;
108 end
109 end
110 87
111 function commands.install(arg) 88 function commands.install(arg)
112 if arg[1] == "--help" then 89 if arg[1] == "--help" then
113 show_usage([[make]], [[Installs a prosody/luarocks plugin]]); 90 show_usage([[make]], [[Installs a prosody/luarocks plugin]]);
114 return 1; 91 return 1;
127 print("Installing module "..arg[1].." at "..prosody.paths.plugins) 104 print("Installing module "..arg[1].." at "..prosody.paths.plugins)
128 -- I've build a local server to upload some new rockspecs, like mod_smacks'. We can replace this server by one from 105 -- I've build a local server to upload some new rockspecs, like mod_smacks'. We can replace this server by one from
129 -- prosody's, where we can oficially disbrute rocks/rockspecs for all modules 106 -- prosody's, where we can oficially disbrute rocks/rockspecs for all modules
130 os.execute("luarocks --tree='"..prosody.paths.plugins.."' --server='http://localhost/' install "..arg[1]) 107 os.execute("luarocks --tree='"..prosody.paths.plugins.."' --server='http://localhost/' install "..arg[1])
131 show_module_configuration_help(arg[1]); 108 show_module_configuration_help(arg[1]);
109 return 0;
110 end
111 end
112
113 -- Command to remove a rockspec
114 -- Receives as an argument the name of the plugin to be removed from the plugins folder
115 function commands.remove(arg)
116 if arg[1] == "--help" then
117 show_usage([[make]], [[Removes a module installed in the wroking directory's plugins folder]]);
118 return 1;
119 end
120 local flag = "--tree="
121 -- I'm considering the flag is the first, but there can be many flags
122 if arg[1] and arg[1]:sub(1, #flag) == flag then
123 local dir = arg[1]:match("=(.+)$")
124 print("Removing module "..arg[2].." at "..dir)
125 -- These extra double brackets allow us to correctly process names with spaces
126 os.execute("luarocks remove --tree='"..dir.."' "..arg[2])
127 return 0;
128 else
129 print("Removing "..arg[1].." from "..prosody.paths.plugins)
130 os.execute("luarocks --tree='"..prosody.paths.plugins.."' remove "..arg[1])
131 print("Done!")
132 return 0; 132 return 0;
133 end 133 end
134 end 134 end
135 135
136 function commands.list(arg) 136 function commands.list(arg)