adding untracked files
This commit is contained in:
33
controller/state/server.py
Normal file
33
controller/state/server.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import json
|
||||
import requests
|
||||
|
||||
|
||||
class Server(object):
|
||||
"Gets state from server and sends it to the server after change"
|
||||
def __init__(self, url_base=None, controller_id=None):
|
||||
self.url_base = url_base
|
||||
self.controller_id = controller_id
|
||||
|
||||
def get_state(self):
|
||||
result = requests.get(self.full_url('state/%s') % self.controller_id)
|
||||
return handle_response(result)
|
||||
|
||||
def post_state(self, local_state):
|
||||
result = requests.post(self.full_url('state/%s') % self.controller_id, local_state)
|
||||
return handle_response(result)
|
||||
|
||||
|
||||
|
||||
def full_url(self, action):
|
||||
if self.controller_id is None:
|
||||
raise ClassNotReadyException("Controller id not set!")
|
||||
if self.url_base is None:
|
||||
raise ClassNotReadyException("URL base not set!")
|
||||
return self.url_base + '/' + action
|
||||
|
||||
|
||||
def handle_response(response):
|
||||
if response.status_code != 200:
|
||||
raise ErrorCommunicatingWithServerException("Response not 200!")
|
||||
else:
|
||||
return response.json()
|
||||
Reference in New Issue
Block a user