def __set_up_default_logger(): """ Set-up a default logger if it is not provided as parameter. :return: Instance of ColoredLogger """ # Set-up the main logger instance. path_of_log_file = os.path.join(PATH_OF_FILE_DIR, "logs", "data_processor.log") return_logger = ColoredLogger(os.path.basename(__file__), log_file_path=path_of_log_file) return_logger.info("Default logger has been set-up in data_processor module.") return return_logger
def __set_up_default_logger(): """ Set-up a default logger if it is not provided as parameter. TODO: Make common method from it. It is used in more places. :return: Instance of ColoredLogger """ # Set-up the main logger instance. path_of_log_file = os.path.join(PATH_OF_FILE_DIR, "..", "..", "logs", "report_tab_log.log") return_logger = ColoredLogger(os.path.basename(__file__), log_file_path=path_of_log_file) return_logger.info( "Default logger has been set-up in report_tab module.") return return_logger
def main(c_logger=None): if not c_logger: # Set-up the main logger instance. path_of_log_file = os.path.join(PATH_OF_FILE_DIR, "..", "..", "logs", "main_log.log") c_logger = ColoredLogger(os.path.basename(__file__), log_file_path=path_of_log_file) if TEST_RUNNING: data_processor_instance = DataProcessor(config=TEST_CONFIG_FILE, c_logger=c_logger) graph_config_parser = set_up_graph_settings_config_parser( c_logger=c_logger, config_file=TEST_GRAPH_CONFIG_FILE) user_info_parser = set_up_user_info_config_parser( c_logger=c_logger, config_file=TEST_USER_INFO_CONFIG_FILE) else: data_processor_instance = DataProcessor(c_logger=c_logger) graph_config_parser = set_up_graph_settings_config_parser( c_logger=c_logger) user_info_parser = set_up_user_info_config_parser(c_logger=c_logger) window = tk.Tk() window.iconphoto(False, tk.PhotoImage(file=PATH_OF_WINDOW_ICON)) window.title("Time reporting") # change ttk theme to 'clam' to fix issue with downarrow button style = ttk.Style() style.theme_create( "MyStyle", parent="alt", settings={ "TNotebook": { "configure": { "tabmargins": [2, 5, 2, 0] } }, "TNotebook.Tab": { "configure": { "padding": [50, 2] } }, }, ) style.theme_use("MyStyle") note = ttk.Notebook(window) main_tab = tk.Frame(note) report_config_tab = tk.Frame(note) user_config_tab = tk.Frame(note) metrics_tab = tk.Frame(note) note.add(main_tab, text="Main") note.add(report_config_tab, text="Report") note.add(user_config_tab, text="User Config") note.add(metrics_tab, text="Metrics") note.pack(expand=True, fill=tk.BOTH) main_exit_button = tk.Button( window, width=30, text="EXIT", bg="grey60", activebackground="red", font="Helvetica 12 bold", command=lambda: quit_from_app(window), ) main_exit_button.pack(fill=tk.X) main_tab_module.MainWindow( main_tab, c_logger=c_logger, data_processor=data_processor_instance, graph_settings=graph_config_parser, graph_settings_file_path=GRAPH_CONFIG_FILE, ) report_tab_module.ReportConfigTab(report_config_tab, c_logger=c_logger, data_processor=data_processor_instance) user_tab_module.UserConfigTab( user_config_tab, c_logger=c_logger, user_info_parser=user_info_parser, user_info_config_file_path=USER_INFO_CONFIG_FILE, ) metrics_tab_module.MetricsTab( metrics_tab, c_logger=c_logger, data_processor=data_processor_instance, ) window.protocol("WM_DELETE_WINDOW", lambda: quit_from_app(window)) window.mainloop()
__author__ = "milanbalazs" __version__ = "0.1" # Get the path of the directory of the current file. PATH_OF_FILE_DIR = os.path.join(os.path.realpath(os.path.dirname(__file__))) # Append the required directories to PATH sys.path.append(PATH_OF_FILE_DIR) sys.path.append(os.path.join(PATH_OF_FILE_DIR, "gui")) import main_gui # noqa: E402 from color_logger import ColoredLogger # noqa: E402 # Set-up the main logger instance. PATH_OF_LOG_FILE = os.path.join(PATH_OF_FILE_DIR, "logs", "main_log.log") MAIN_LOGGER = ColoredLogger(os.path.basename(__file__), log_file_path=PATH_OF_LOG_FILE) #### # ENTRY POINT #### if __name__ == "__main__": import argparse parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "--test", dest="test_flag", help="If this flag is set, the tool uses test values.",