Anders and Briegel in Python
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

40 рядки
1.1KB

  1. import requests
  2. import abp, json
  3. class Client(object):
  4. def __init__(self, host="localhost", port=5000, clear=False):
  5. self.session = requests.Session()
  6. self.root = "http://{}:{}".format(host, port)
  7. if clear:
  8. self.clear()
  9. def get(self, endpoint):
  10. url =self.root+endpoint
  11. response = self.session.get(url)
  12. assert response.status_code == 200
  13. return response.content
  14. def get_state(self):
  15. response = self.get("/state")
  16. output = abp.GraphState()
  17. output.from_json(json.loads(response))
  18. return output
  19. def set_state(self, state):
  20. return self.session.post(self.root+"/state", data=state.to_json())
  21. def add_node(self, node):
  22. return self.get("/add_node/{}".format(node))
  23. def act_local_rotation(self, node, operation):
  24. return self.get("/act_local_rotation/{}/{}".format(node, operation))
  25. def act_cz(self, a, b):
  26. return self.get("/act_cz/{}/{}".format(a, b))
  27. def clear(self):
  28. return self.get("/clear")
  29. def kill(self):
  30. self.session.close()