aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/ConsoleInput.hx
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ConsoleInput.hx')
-rw-r--r--src/server/ConsoleInput.hx23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/server/ConsoleInput.hx b/src/server/ConsoleInput.hx
index 9b8faf3..119d87e 100644
--- a/src/server/ConsoleInput.hx
+++ b/src/server/ConsoleInput.hx
@@ -18,6 +18,7 @@ private typedef CommandData = {
private enum abstract Command(String) from String {
var AddAdmin = "addAdmin";
+ var RemoveAdmin = "removeAdmin";
var Replay = "replay";
var LogList = "logList";
var Exit = "exit";
@@ -30,6 +31,10 @@ class ConsoleInput {
args: ["name", "password"],
desc: "Adds channel admin"
},
+ RemoveAdmin => {
+ args: ["name"],
+ desc: "Removes channel admin"
+ },
Replay => {
args: ["name"],
desc: "Replay log file on server from user/logs/"
@@ -54,10 +59,10 @@ class ConsoleInput {
output: process.stdout,
completer: onCompletion
});
- haxe.Log.trace = (msg, ?pos) -> {
+ haxe.Log.trace = (msg:Dynamic, ?infos:haxe.PosInfos) -> {
Readline.clearLine(process.stdout, 0);
Readline.cursorTo(process.stdout, 0, null);
- Console.log(msg);
+ Console.log(formatOutput(msg, infos));
rl.prompt(true);
};
rl.prompt();
@@ -68,6 +73,16 @@ class ConsoleInput {
// rl.on("close", exit);
}
+ function formatOutput(v:Dynamic, infos:haxe.PosInfos):String {
+ var str = Std.string(v);
+ if (infos == null) return str;
+ if (infos.customParams != null) {
+ for (v in infos.customParams)
+ str += ", " + Std.string(v);
+ }
+ return str;
+ }
+
function onCompletion(line:String):Array<Or<Array<String>, String>> {
final commands:Array<String> = [
for (item in commands.keys()) '/$item '
@@ -102,6 +117,10 @@ class ConsoleInput {
}
main.addAdmin(name, password);
+ case RemoveAdmin:
+ final name = args[0];
+ main.removeAdmin(name);
+
case Replay:
Utils.ensureDir(main.logsDir);
final name = args[0];
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage