import thread, SocketServer class NetSliderHandler(SocketServer.StreamRequestHandler): def handle(self): data = self.rfile.readline(1000) def start_server(levelstorage): server = SocketServer.TCPServer( ('', socket.getservbyname('rlslider', 'tcp')), NetSliderHandler) server.serve_forever() class ExternalSliders: def __init__(self, level_storage=[]): self.level_storage = level_storage self.spawn_server() def test(self): 'Store fake inputs to test operations' pass def spawn_server(self): pass # thread.start_new_thread(start_server, (self.update)) def update(self, *args): self.level_storage[:] = args def get_levels(self): import math, time return [max(0, math.sin(time.time() + i)) for i in range(4)] # bogus # return self.level_storage