diff --git a/Server/Server.py b/Server/Server.py index f575cb1..6697b81 100644 --- a/Server/Server.py +++ b/Server/Server.py @@ -27,7 +27,7 @@ class WallabyControl(Routing.ServerRoute): for wallaby in handler.broadcast.channels[Handler.Channels.WALLABY]: address_pair = "%s:%d" % (wallaby.address, wallaby.port) if address_pair in data.keys(): - if data[address_pair] in ("stop", "restart", "disconnect", "reboot"): + if data[address_pair] in ("stop", "restart", "disconnect", "reboot", "shutdown"): wallaby.send(data[address_pair], "wallaby_control") elif type(data[address_pair]) is dict: if "run" in data[address_pair]: diff --git a/Sublime/fl0w/fl0w.py b/Sublime/fl0w/fl0w.py index 4d7b76c..8abc6be 100644 --- a/Sublime/fl0w/fl0w.py +++ b/Sublime/fl0w/fl0w.py @@ -104,7 +104,7 @@ class Fl0w: def wallaby_control_submenu(self, wallaby): menu = Menu(subtitles=False) - for command in ("Stop", "Restart", "Reboot", "Disconnect"): + for command in ("Stop", "Restart", "Shutdown", "Reboot", "Disconnect"): menu.add(Entry(command, action=self.sock.send, kwargs={"data" : {wallaby : command.lower()}, "route" : "wallaby_control"})) menu.invoke(self.window) diff --git a/Wallaby/Wallaby.py b/Wallaby/Wallaby.py index 25da086..c543f2e 100644 --- a/Wallaby/Wallaby.py +++ b/Wallaby/Wallaby.py @@ -26,6 +26,9 @@ class WallabyControl(Routing.ClientRoute): os.system("reboot") exit(0) + def shutdown(self, handler): + os.system("shutdown -h 0") + def disconnect(self, handler): handler.sock.close()