Files
AccountForger-neuerUpload/main.py
Claude Project Manager 04585e95b6 Initial commit
2025-08-01 23:50:28 +02:00

58 Zeilen
1.9 KiB
Python

"""
Social Media Account Generator - Hauptanwendung (Einstiegspunkt)
"""
import os
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import Qt
# Stelle sicher, dass das Hauptverzeichnis im Pythonpfad ist
if os.path.dirname(os.path.abspath(__file__)) not in sys.path:
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
# Import der Hauptcontroller-Klasse
from controllers.main_controller import MainController
from utils.logger import setup_logger
from config.paths import PathConfig
# Stelle sicher, dass benötigte Verzeichnisse existieren
PathConfig.ensure_directories()
def main():
"""Hauptfunktion für die Anwendung."""
# High DPI Skalierung MUSS vor QApplication gesetzt werden
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True)
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps, True)
# Logger initialisieren
logger = setup_logger()
logger.info("Anwendung wird gestartet...")
print("\n=== AccountForger wird gestartet ===")
# QApplication erstellen
app = QApplication(sys.argv)
try:
# Hauptcontroller initialisieren (mit QApplication-Instanz)
# Dies prüft auch die Lizenz und zeigt ggf. den Aktivierungsdialog
print("[INFO] Initialisiere Hauptcontroller...")
controller = MainController(app)
print("[INFO] Anwendung bereit - GUI wird geöffnet")
# Anwendung starten
sys.exit(app.exec_())
except SystemExit as e:
# Erwarteter Exit (z.B. bei fehlender Lizenz)
logger.info("Anwendung wird beendet")
print("[INFO] Anwendung beendet")
sys.exit(e.code)
except Exception as e:
# Unerwarteter Fehler
logger.error(f"Unerwarteter Fehler beim Start: {e}", exc_info=True)
print(f"[ERROR] Anwendung konnte nicht gestartet werden: {e}")
print("[INFO] Weitere Details finden Sie in den Log-Dateien")
sys.exit(1)
if __name__ == "__main__":
main()