X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=plomrogue-server.py;h=986732f034c89089a6e9897eed30d74f6a46ba5f;hb=17580e7df8f2110c0edf563a4f895a05b8fc417c;hp=a8b48b3db34a6c5027c6ff1e752df1eb0e0f556d;hpb=45ebb121ae376b3b6d624590c3a76abd904e1b43;p=plomrogue diff --git a/plomrogue-server.py b/plomrogue-server.py index a8b48b3..986732f 100755 --- a/plomrogue-server.py +++ b/plomrogue-server.py @@ -9,14 +9,16 @@ import time def setup_server_io(io_db): """Fill IO files DB with proper file( path)s. Write process IO test string. - Decide file paths. Ensure IO files directory at server/. Remove any old in - file if found. Set up new in file (io_db["file_in"]) for reading at - io_db["path_in"], and new out file (io_db["file_out"]) for writing at - io_db["path_out"]. Start out file with process hash line of format PID + - " " + floated UNIX time (io_db["teststring"]). Run detect_atomic_leftover - on io_db["path_record"] and io_db["path_save"]. + Set io_db["kicked_by_rival"] to False. Decide file paths. Ensure IO files + directory at server/. Remove any old in file if found. Set up new in file + (io_db["file_in"]) for reading at io_db["path_in"], and new out file + (io_db["file_out"]) for writing at io_db["path_out"]. Start out file with + process hash line of format PID + " " + floated UNIX time + (io_db["teststring"]). Run detect_atomic_leftover on io_db["path_record"] + and io_db["path_save"]. """ io_dir = "server/" + io_db["kicked_by_rival"] = False io_db["path_in"] = io_dir + "in" io_db["path_out"] = io_dir + "out" io_db["path_worldstate"] = io_dir + "worldstate" @@ -43,7 +45,8 @@ def cleanup_server_io(io_db): def helper(file_key, path_key): if file_key in io_db: io_db[file_key].close() - if not io_db["kicked_by_rival"]: + if not io_db["kicked_by_rival"] \ + and os.access(io_db[path_key], os.F_OK): os.remove(io_db[path_key]) helper("file_out", "path_out") helper("file_in", "path_in") @@ -62,6 +65,7 @@ def detect_atomic_leftover(path, tmp_suffix): def obey(cmd, io_db, prefix): """""" + server_test(io_db) print("input " + prefix + ": " + cmd) try: tokens = shlex.split(cmd, comments=True) @@ -137,7 +141,7 @@ def server_test(io_db): raise SystemExit(msg) -def io_loop (): +def io_loop(): return False @@ -159,12 +163,9 @@ try: prefix = "record file line " line_n = 1 while world_db["turn"] < opts.replay: - server_test(io_db) obey(file.readline().rstrip(), io_db, prefix + str(line_n)) line_n = line_n + 1 - world_db["turn"] = world_db["turn"] + 1 while io_loop(): - server_test(io_db) obey(file.readline().rstrip(), io_db, prefix + str(line_n)) line_n = line_n + 1 file.close()