From 3abe262804310c788c8d49643c04239d89963885 Mon Sep 17 00:00:00 2001 From: William Valentin Date: Thu, 24 Jul 2025 11:55:10 -0700 Subject: [PATCH] Update logging configuration and file paths in constants and init modules --- src/constants.py | 4 ++-- src/init.py | 12 ++++++++---- src/main.py | 42 +++++++++++++++++------------------------- 3 files changed, 27 insertions(+), 31 deletions(-) diff --git a/src/constants.py b/src/constants.py index 5354e2c..c556966 100644 --- a/src/constants.py +++ b/src/constants.py @@ -1,8 +1,8 @@ import os from dotenv import load_dotenv -load_dotenv() +load_dotenv(override=True) LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper() -LOG_PATH = os.getenv("LOG_PATH", "/tmp/logs") +LOG_PATH = os.getenv("LOG_PATH", "/tmp/logs/thechart") LOG_CLEAR = os.getenv("LOG_CLEAR", "False").capitalize() diff --git a/src/init.py b/src/init.py index ebb41ac..7509deb 100644 --- a/src/init.py +++ b/src/init.py @@ -3,12 +3,16 @@ from logger import init_logger from constants import LOG_PATH, LOG_CLEAR, LOG_LEVEL if not os.path.exists(LOG_PATH): - os.mkdir(LOG_PATH) + try: + os.mkdir(LOG_PATH) + print(LOG_PATH) + except Exception as e: + print(e) log_files = ( - f"{LOG_PATH}/app.log", - f"{LOG_PATH}/app.warning.log", - f"{LOG_PATH}/app.error.log", + f"{LOG_PATH}/thechart.log", + f"{LOG_PATH}/thechart.warning.log", + f"{LOG_PATH}/thechart.error.log", ) testing_mode = LOG_LEVEL == "DEBUG" diff --git a/src/main.py b/src/main.py index 8fccb35..0e2a2e9 100644 --- a/src/main.py +++ b/src/main.py @@ -7,7 +7,7 @@ from typing import Dict, List, Tuple, Any, Callable, Union import pandas as pd from init import logger -from constants import LOG_LEVEL +from constants import LOG_LEVEL, LOG_PATH from data_manager import DataManager from graph_manager import GraphManager from ui_manager import UIManager @@ -22,11 +22,10 @@ class MedTrackerApp: # Set up data file self.filename: str = "thechart_data.csv" + first_argument: str = "" + if len(sys.argv) > 1: first_argument: str = sys.argv[1] - if LOG_LEVEL == "DEBUG": - logger.debug(f"Script name: {sys.argv[0]}") - logger.debug(f"First argument: {first_argument}") if os.path.exists(first_argument): self.filename = first_argument logger.info(f"Using data file: {first_argument}") @@ -35,6 +34,11 @@ class MedTrackerApp: f"Data file {first_argument} does not exist. Using default file: {self.filename}" ) + if LOG_LEVEL == "DEBUG": + logger.debug(f"Script name: {sys.argv[0]}") + logger.debug(f"Logs path: {LOG_PATH}") + logger.debug(f"First argument: {first_argument}") + # Initialize managers self.ui_manager: UIManager = UIManager(root, logger) self.data_manager: DataManager = DataManager(self.filename, logger) @@ -71,14 +75,12 @@ class MedTrackerApp: self.graph_manager: GraphManager = GraphManager(graph_frame) # --- Create Input Frame --- - input_ui: Dict[str, Any] = self.ui_manager.create_input_frame( - main_frame - ) + input_ui: Dict[str, Any] = self.ui_manager.create_input_frame(main_frame) self.input_frame: ttk.Frame = input_ui["frame"] self.symptom_vars: Dict[str, tk.IntVar] = input_ui["symptom_vars"] - self.medicine_vars: Dict[str, List[Union[tk.IntVar, ttk.Spinbox]]] = ( - input_ui["medicine_vars"] - ) + self.medicine_vars: Dict[str, List[Union[tk.IntVar, ttk.Spinbox]]] = input_ui[ + "medicine_vars" + ] self.note_var: tk.StringVar = input_ui["note_var"] self.date_var: tk.StringVar = input_ui["date_var"] @@ -97,9 +99,7 @@ class MedTrackerApp: ) # --- Create Table Frame --- - table_ui: Dict[str, Any] = self.ui_manager.create_table_frame( - main_frame - ) + table_ui: Dict[str, Any] = self.ui_manager.create_table_frame(main_frame) self.tree: ttk.Treeview = table_ui["tree"] self.tree.bind("", self.on_double_click) @@ -115,9 +115,7 @@ class MedTrackerApp: logger.debug(f"Editing item_id={item_id}, values={item_values}") self._create_edit_window(item_id, item_values) - def _create_edit_window( - self, item_id: str, values: Tuple[str, ...] - ) -> None: + def _create_edit_window(self, item_id: str, values: Tuple[str, ...]) -> None: """Create a new Toplevel window for editing an entry.""" # Define callbacks for edit window buttons callbacks: Dict[str, Callable] = { @@ -164,9 +162,7 @@ class MedTrackerApp: self._clear_entries() self.load_data() else: - messagebox.showerror( - "Error", "Failed to save changes", parent=edit_win - ) + messagebox.showerror("Error", "Failed to save changes", parent=edit_win) def on_closing(self) -> None: if messagebox.askokcancel( @@ -198,9 +194,7 @@ class MedTrackerApp: self._clear_entries() self.load_data() else: - messagebox.showerror( - "Error", "Failed to add entry", parent=self.root - ) + messagebox.showerror("Error", "Failed to add entry", parent=self.root) def _delete_entry(self, edit_win: tk.Toplevel, item_id: str) -> None: """Delete the selected entry from the CSV file.""" @@ -221,9 +215,7 @@ class MedTrackerApp: ) self.load_data() else: - messagebox.showerror( - "Error", "Failed to delete entry", parent=edit_win - ) + messagebox.showerror("Error", "Failed to delete entry", parent=edit_win) def _clear_entries(self) -> None: """Clear all input fields."""