class ConsoleController(object): def __init__(self, cfg): #Service that handles HTTP requests dl = DataListener() #Start the HTTP server cp_cfg = cfg.get('cherrypy',{}) cp_cfg['log.screen'] = cp_cfg.get('log.screen', False) self.ls = ListeningService(cp_cfg, dl) self.ls.server_started.connect(self.on_server_started) self.ls.server_stopped.connect(self.on_server_stopped) self.ls.start() self.cfg = cfg self.session_manager = SessionManager(cfg, dl) self.session_manager.session_new.connect(self.on_session_new) self.session_manager.switch_new_session() self.command_console = CommandConsole() self.command_console.quit_command.connect(self.on_quit_command) self.command_console.save_command.connect(self.on_save_command) def cmdloop(self): self.command_console.cmdloop() def on_server_started(self, **kwargs): print "HTTP Server Started" def on_server_stopped(self, **kwargs): print "HTTP Server Stopped" def on_quit_command(self, **kwargs): self.ls.exit() def on_save_command(self, output_dir, **kwargs): self.session_manager.save(output_dir) def start_server(self): self.ls.start() def on_session_new(self, session_id, session_monitors, **kwargs): #for monitor_name, action_cfg in self.cfg.iteritems(): for monitor_name, monitor in session_monitors.iteritems(): monitor_cfg = self.cfg['elements'][monitor_name] panel_factory = FigureMemoryPanelFactory() p = panel_factory.build(monitor.get_figure(), monitor_cfg) #we throw away p?
def __init__(self, cfg): #Service that handles HTTP requests dl = DataListener() #Start the HTTP server cp_cfg = cfg.get('cherrypy',{}) cp_cfg['log.screen'] = cp_cfg.get('log.screen', False) self.ls = ListeningService(cp_cfg, dl) self.ls.server_started.connect(self.on_server_started) self.ls.server_stopped.connect(self.on_server_stopped) self.ls.start() self.cfg = cfg self.session_manager = SessionManager(cfg, dl) self.session_manager.session_new.connect(self.on_session_new) self.session_manager.switch_new_session() self.command_console = CommandConsole() self.command_console.quit_command.connect(self.on_quit_command) self.command_console.save_command.connect(self.on_save_command)