Use separate function to talk to engine in adapter

This commit is contained in:
2021-12-13 18:21:24 +01:00
parent b9f39fa0b4
commit d36a948936

View File

@@ -29,19 +29,24 @@ def make_piece(piece_str):
}
@app.route("/get_state/")
def get_state():
engine.stdin.write(b"get_state\n")
def ask_engine(command):
engine.stdin.write(f"{command}\n".encode("ascii"))
engine.stdin.flush()
reply = engine.stdout.readline().decode("ascii").strip()
status, position_str = reply.split(",")
status, result = reply.split(",")
if status != "ok":
flask.abort(400)
position = {
position_str[i + 2 : i + 4]: make_piece(position_str[i : i + 2])
for i in range(0, len(position_str), 4)
return result
@app.route("/get_state/")
def get_state():
state_str = ask_engine("get_state")
state = {
state_str[i + 2 : i + 4]: make_piece(state_str[i : i + 2])
for i in range(0, len(state_str), 4)
}
return flask.jsonify(position)
return flask.jsonify(state)
if __name__ == "__main__":