From ad899111a65a0c2659ae844244a2d150bdd76cc5 Mon Sep 17 00:00:00 2001 From: Ringo Wantanabe Date: Mon, 13 Aug 2018 21:00:07 +0100 Subject: [PATCH] Added daemon info get command --- deps | 1 + rtbw.py | 8 ++++++-- rtbwctl.py | 4 ++++ socks/transmission.py | 1 + 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/deps b/deps index 9ee8b19..fb363f6 100644 --- a/deps +++ b/deps @@ -1,2 +1,3 @@ pylzma argparse +probably some other stuff diff --git a/rtbw.py b/rtbw.py index 3ef6a87..7aa7a8d 100644 --- a/rtbw.py +++ b/rtbw.py @@ -349,10 +349,11 @@ def _fork(): return os.fork() class Daemon(threading.Thread): - def __init__(self, socket, buf): + def __init__(self, socket, buf, info=None): self.sock = socket self.buf = buf self.running=True + self.info = info threading.Thread.__init__(self) def _get(self,con, fr, ca=False): if ca: @@ -383,6 +384,9 @@ class Daemon(threading.Thread): elif cmd.uCommand == Command.CMD_CLEAR: #clear buffer log("[daemon]: Recieved clear") self.buf.clear() + elif cmd.uCommand == Command.CMD_INFO: #information + log("[daemon]: Recieved info") + con.send(json.dumps(self.info).encode("ascii")) else: #unknwon command log("[daemon]: Recieved unknown command") pass @@ -441,7 +445,7 @@ if args.daemon!=None: daemon_sock.settimeout(5) daemon_sock.listen(5) - daemon = Daemon(daemon_sock, buf) + daemon = Daemon(daemon_sock, buf, { "timeout": args.timeout, "board": args.board }) daemon.start() try: diff --git a/rtbwctl.py b/rtbwctl.py index 17ece34..f975586 100644 --- a/rtbwctl.py +++ b/rtbwctl.py @@ -27,6 +27,7 @@ def parsecmd(s): elif s=="stop": return Command.CMD_SHUTDOWN elif s=="clear": return Command.CMD_CLEAR elif s=="get-clear": return Command.CMD_GET_CLEAR + elif s=="info": return Command.CMD_INFO else: return None parser = argparse.ArgumentParser(description="rtbwpy daemon control.") @@ -63,5 +64,8 @@ if cmd.uCommand == Command.CMD_GET or cmd.uCommand == Command.CMD_GET_CLEAR: json = con.recv().decode("utf-8") print(json) +elif cmd.uCommand == Command.CMD_INFO: + print(con.recv().decode("ascii")) + sock.close() diff --git a/socks/transmission.py b/socks/transmission.py index 12f7ea9..6cb5214 100644 --- a/socks/transmission.py +++ b/socks/transmission.py @@ -28,6 +28,7 @@ class Command(object): CMD_CLEAR = 2 CMD_SHUTDOWN = 3 CMD_GET_CLEAR = 4 + CMD_INFO = 5 def __init__(self): self.uCommand = 0