Use separate function to talk to engine in adapter
This commit is contained in:
@@ -29,19 +29,24 @@ def make_piece(piece_str):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@app.route("/get_state/")
|
def ask_engine(command):
|
||||||
def get_state():
|
engine.stdin.write(f"{command}\n".encode("ascii"))
|
||||||
engine.stdin.write(b"get_state\n")
|
|
||||||
engine.stdin.flush()
|
engine.stdin.flush()
|
||||||
reply = engine.stdout.readline().decode("ascii").strip()
|
reply = engine.stdout.readline().decode("ascii").strip()
|
||||||
status, position_str = reply.split(",")
|
status, result = reply.split(",")
|
||||||
if status != "ok":
|
if status != "ok":
|
||||||
flask.abort(400)
|
flask.abort(400)
|
||||||
position = {
|
return result
|
||||||
position_str[i + 2 : i + 4]: make_piece(position_str[i : i + 2])
|
|
||||||
for i in range(0, len(position_str), 4)
|
|
||||||
|
@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__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
Reference in New Issue
Block a user