Update logging configuration and file paths in constants and init modules
This commit is contained in:
@@ -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()
|
||||
|
||||
10
src/init.py
10
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):
|
||||
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"
|
||||
|
||||
42
src/main.py
42
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("<Double-1>", 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."""
|
||||
|
||||
Reference in New Issue
Block a user