def main(): webserver = webnsock.WebserverThread(CARWebServer()) backend = webnsock.WSBackend(CARProtocol) signal(SIGINT, lambda s, f: webnsock.signal_handler(webserver, backend, s, f)) webserver.start() backend.talker()
def _server(self): import webnsock import web tmux_self = self class TMuxWebServer(webnsock.WebServer): def __init__(self): webnsock.WebServer.__init__(self) self._render = web.template.render(path.realpath( path.join(path.dirname(__file__), 'www')), base="base", globals=globals()) self_app = self class Index(self.page): path = '/' def GET(self): return self_app._render.index(tmux_self.config) class Log(self.page): path = '/log' def GET(self): lines = tmux_self.server.cmd('capture-pane', '-p', '-C', '-S', '-100000').stdout return '\n'.join(lines) class TMuxWSProtocol(webnsock.JsonWSProtocol): def __init__(self): super(TMuxWSProtocol, self).__init__() def on_button(self, payload): info('button pressed: \n%s' % pformat(payload)) window_name = payload['id'] cmd = payload['cmd'] if cmd == 'launch': if window_name == '': tmux_self.launch_all_windows() else: tmux_self.launch_window(window_name) elif cmd == 'stop': if window_name == '': tmux_self.stop_all_windows() else: tmux_self.stop_window(window_name) elif cmd == 'terminate': tmux_self.kill_all_windows() sleep(1) tmux_self.init() sleep(1) self.sendJSON(self.on_status()) def on_status(self, payload=None): info('status-requested: ') res = {'windows': {}, 'method': 'update_status'} for w in tmux_self.config['windows']: res['windows'][w['name']] = tmux_self.is_running(w['name']) return res #return {'button_outcome': True} self.webserver = webnsock.WebserverThread(TMuxWebServer(), port=9999) self.backend = webnsock.WSBackend(TMuxWSProtocol) signal.signal( signal.SIGINT, lambda s, f: webnsock.signal_handler( self.webserver, self.backend, s, f)) self.webserver.start() self.backend.talker(port=9998)
sys.exit(1) app.start() session = app.session memory_service = session.service("ALMemory") return session if __name__ == "__main__": session = qi_init() ip = os.getenv("PEPPER_IP", default="127.0.0.1") webserver = webnsock.WebserverThread(SPQReLUIServer()) backend = webnsock.WSBackend(SQPReLProtocol) signal(SIGINT, lambda s, f: webnsock.signal_handler(webserver, backend, s, f)) webserver.start() try: # wait for the webserver to be running before displaying it tablet_service = session.service("ALTabletService") except RuntimeError: warn('cannot find ALTabletService') tablet_service = None if tablet_service: sleep(5) ip = os.getenv("PEPPER_IP", default="127.0.0.1") tablet_service.showWebview('http://%s:8127/' % ip) backend.talker()