From d72685ca286505b52ac4b712b6e484c57436dfc4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:31 +0300 Subject: [PATCH] Refactor imports and add logging to main.py Updated import paths to use src.gui and src.core modules. Integrated logger for improved error and status reporting throughout application startup and error handling. --- main.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 2aa558c..00cb8dc 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,8 @@ import sys from PySide6.QtWidgets import QApplication, QMessageBox -from ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main -from ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path # Import the new yt-dlp setup functions +from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main +from src.core.ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path # Import the new yt-dlp setup functions +from src.core.ytsage_logging import logger def show_error_dialog(message): error_dialog = QMessageBox() @@ -13,20 +14,24 @@ def show_error_dialog(message): def main(): try: + logger.info("Starting YTSage application") app = QApplication(sys.argv) # Get the expected binary path and check if it exists expected_path = get_ytdlp_executable_path() if not check_ytdlp_binary(): # No app-specific binary found, show setup dialog regardless of Python package + logger.warning("No yt-dlp binary found, starting setup process") yt_dlp_path = setup_ytdlp() if yt_dlp_path == "yt-dlp": # If user canceled or something went wrong - print(f"Warning: yt-dlp not configured properly") + logger.warning("yt-dlp not configured properly") window = YTSageApp() # Instantiate the main application class window.show() + logger.info("Application window shown, entering main loop") sys.exit(app.exec()) except Exception as e: + logger.critical(f"Critical application error: {str(e)}", exc_info=True) show_error_dialog(f"Critical error: {str(e)}") sys.exit(1)