+
+
+class SpaceApi:
+ __init__ (self):
+ self.state_to_set = None # public write, TODO: getters, setters?
+ self.state_last_set = None # public read
+ self._running = True
+ self._t = threading.Thread(target=self.loop)
+ _t.start()
+
+ def stop (self):
+ self._running = False
+
+ def loop (self):
+ while self._running:
+ if (self.state_to_set is not None):
+ if self.state_to_set != self.state_last_set:
+ stts = self.state_to_set # cache for parallelism
+ error = do_request(stts) # TODO
+ #TODO logging
+ if not error:
+ self.state_last_set = stts
+ #TODO logging
+ time.sleep(SPACE_API_LOOP_DELAY)
\ No newline at end of file