Initial commit
Dieser Commit ist enthalten in:
58
main.py
Normale Datei
58
main.py
Normale Datei
@ -0,0 +1,58 @@
|
||||
"""
|
||||
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()
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren