X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=plomrogue-server.py;h=3e0f892a89cb5a17448bdc9b6d9458164aa69550;hb=3175d3c1a22f05049cc45afa19c24cb3e3b19aae;hp=9bdab821360dd4262d1de20a9f817e197eb6c8dd;hpb=211117b78cd617e6117df99de895a0eb81751eb8;p=plomrogue diff --git a/plomrogue-server.py b/plomrogue-server.py index 9bdab82..3e0f892 100755 --- a/plomrogue-server.py +++ b/plomrogue-server.py @@ -41,7 +41,7 @@ def cleanup_server_io(io_db): def detect_atomic_leftover(path): - """Raise explained HandledException if file is found at path + "_tmp".""" + """Raise explained SystemExit if file is found at path + "_tmp".""" path_tmp = path + "_tmp" msg = "Found file '" + path_tmp + "' that may be a leftover from an " \ "aborted previous attempt to write '" + path + "'. Aborting until " \ @@ -50,10 +50,18 @@ def detect_atomic_leftover(path): raise SystemExit(msg) -def obey(msg): +def obey(cmd): """""" - print("Input: " + msg) - print(shlex.split(msg)) + print("Input: " + cmd) + tokens = shlex.split(cmd) + if "QUIT" == tokens[0] and 1 == len(tokens): + raise SystemExit("received QUIT command") + elif "PING" == tokens[0] and 1 == len(tokens): + io_db["file_out"].write("PONG\n") + elif "MAKE_WORLD" == tokens[0] and 2 == len(tokens): + print("I would generate a new world now, if only I knew how.") + else: + print("Invalid command/argument, or bad number of tokens.") io_db = {} @@ -78,8 +86,7 @@ try: elif os.access(path_savefile, os.F_OK): print(open(path_savefile, "r").read()) else: - msg = "MAKE_WORLD " + str(int(time.time())) - obey(msg) + obey("MAKE_WORLD " + str(int(time.time()))) except SystemExit as exit: print("ABORTING: " + exit.args[0]) except: