def __create_control_plane(self): control_logger = Logger(os.path.join(path, 'logs'), 'TrafficChart') self.__control_tab['frame'] = ttk.Frame(self.__notebook) self.__control_tab['chart'] = TrafficChart(logger=control_logger, master=self.__control_tab['frame']) self.__control_tab['chart'].pack(side='left', fill='y', expand=True) self.__control_tab['chart'].start_anime() self.__control_tab['control_btn'] = ControlFrame(logger=control_logger, master=self.__control_tab['frame'], text='系統功能') self.__control_tab['control_btn'].pack(side='top', fill='x', expand=True, padx=10) self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.CONNECT, self.connect_terminal) self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.STARTUP, self.start_terminal) self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.STOP, self.stop_terminal) self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.SHUTDOWN, self.shutdown_cell) self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.L2GUI, self.start_chart) self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.UPDATE_L1, lambda: self.__schedule.upload_image('uploadL1')) self.__control_tab['control_btn'].set_callback(ControlFrame.BtnId.UPDATE_L3, lambda: self.__schedule.upload_image('uploadL3')) self.__control_tab['function_btn'] = FunctionFrame(logger=control_logger, config=self.__config, master=self.__control_tab['frame'], text='設定參數') self.__control_tab['function_btn'].pack(side='top', fill='x', expand=True, padx=10) self.__control_tab['ue_list'] = UEListFrame(logger=control_logger, master=self.__control_tab['frame'], text='UE清單') self.__control_tab['ue_list'].pack(side='top', fill='x', expand=True, padx=10) self.__notebook.add(self.__control_tab['frame'], text='Control')
def __create_terminal(self): for screen_id in range(1,self.__config.get_screen_number()+1): screen_conf = self.__config.get_screen_conf(screen_id) screen_logger = Logger(os.path.join(path, 'logs'), screen_conf['name']) frame = TerminalFrame(screen_logger, self.__notebook) frame.grid() self.__notebook.add(frame, text=screen_conf['name']) self.__terminal_tab['frame'][screen_conf['name']] = frame
self.__control_tab['chart'].attach_L2GUIServ(self.__control_tab['l2guiserv']) except: self._print_error('cannot start chart/L2GUI') return False return True def get_terminal_tab(self): return self.__terminal_tab; def __on_exit(self): self.__root.destroy() sys.exit() def mainloop(self): while True: try: self.__root.mainloop() break except UnicodeDecodeError: pass if __name__ == '__main__': path = os.path.dirname(os.path.realpath(__file__)) logger = Logger(os.path.join(path, 'logs'), 'Main_thread') config = ConfigLoader(os.path.join(path, 'config'), logger=logger) scg = SmallCellGUI(path, config, logger) scg.mainloop()
from lib.logger.Logger import Logger from lib.event import * logger = Logger() getEventHandler().addToSubscription(logger)