Refactor imports and improve logging in multiple modules; streamline type hints and remove redundant code
This commit is contained in:
+14
-12
@@ -1,15 +1,16 @@
|
||||
import os
|
||||
import sys
|
||||
import tkinter as tk
|
||||
from collections.abc import Callable
|
||||
from tkinter import messagebox
|
||||
from typing import Dict, List, Tuple, Any, Callable, Union
|
||||
from typing import Any
|
||||
|
||||
import pandas as pd
|
||||
|
||||
from init import logger
|
||||
from constants import LOG_LEVEL, LOG_PATH
|
||||
from data_manager import DataManager
|
||||
from graph_manager import GraphManager
|
||||
from init import logger
|
||||
from ui_manager import UIManager
|
||||
|
||||
|
||||
@@ -31,7 +32,8 @@ class MedTrackerApp:
|
||||
logger.info(f"Using data file: {first_argument}")
|
||||
else:
|
||||
logger.warning(
|
||||
f"Data file {first_argument} does not exist. Using default file: {self.filename}"
|
||||
f"Data file {first_argument} doesn't exist. \
|
||||
Using default file: {self.filename}"
|
||||
)
|
||||
|
||||
if LOG_LEVEL == "DEBUG":
|
||||
@@ -75,10 +77,10 @@ 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[
|
||||
self.symptom_vars: dict[str, tk.IntVar] = input_ui["symptom_vars"]
|
||||
self.medicine_vars: dict[str, list[tk.IntVar | ttk.Spinbox]] = input_ui[
|
||||
"medicine_vars"
|
||||
]
|
||||
self.note_var: tk.StringVar = input_ui["note_var"]
|
||||
@@ -99,7 +101,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,10 +117,10 @@ 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] = {
|
||||
callbacks: dict[str, Callable] = {
|
||||
"save": self._save_edit,
|
||||
"delete": lambda win: self._delete_entry(win, item_id),
|
||||
}
|
||||
@@ -141,7 +143,7 @@ class MedTrackerApp:
|
||||
note: str,
|
||||
) -> None:
|
||||
"""Save the edited data to the CSV file."""
|
||||
values: List[Union[str, int]] = [
|
||||
values: list[str | int] = [
|
||||
date,
|
||||
dep,
|
||||
anx,
|
||||
@@ -173,7 +175,7 @@ class MedTrackerApp:
|
||||
|
||||
def add_entry(self) -> None:
|
||||
"""Add a new entry to the CSV file."""
|
||||
entry: List[Union[str, int]] = [
|
||||
entry: list[str | int] = [
|
||||
self.date_var.get(),
|
||||
self.symptom_vars["depression"].get(),
|
||||
self.symptom_vars["anxiety"].get(),
|
||||
@@ -240,7 +242,7 @@ class MedTrackerApp:
|
||||
|
||||
# Update the treeview with the data
|
||||
if not df.empty:
|
||||
for index, row in df.iterrows():
|
||||
for _index, row in df.iterrows():
|
||||
self.tree.insert(parent="", index="end", values=list(row))
|
||||
logger.debug(f"Loaded {len(df)} entries into treeview.")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user