Abuse-Schutz fertig

Dieser Commit ist enthalten in:
Claude Project Manager
2025-11-10 03:09:35 +01:00
Ursprung 52dc7b262a
Commit 14eefa18f6
13 geänderte Dateien mit 553 neuen und 33 gelöschten Zeilen

Datei anzeigen

@ -112,6 +112,20 @@ class BasePlatformController(QObject):
Args:
params: Parameter für die Account-Erstellung
"""
# Feature 5: Process Guard - Prüfe ob Prozess starten darf
from utils.process_guard import get_guard
guard = get_guard()
can_start, error_msg = guard.can_start("Account-Erstellung", self.platform_name)
if not can_start:
# Zeige Fehlermeldung
generator_tab = self.get_generator_tab()
generator_tab.show_error(error_msg)
return
# Guard Lock setzen
guard.start("Account-Erstellung", self.platform_name)
self.logger.info(f"Account-Erstellung für {self.platform_name} gestartet")
# In Unterklassen implementieren

Datei anzeigen

@ -48,6 +48,9 @@ class BaseAccountCreationWorkerThread(QThread):
def run(self):
"""Gemeinsame Logik für Account-Erstellung - IDENTISCH zum Original"""
# Feature 5: Tracke Erfolg für Process Guard
success = False
try:
self.update_signal.emit("Status: Initialisierung...")
self.log_signal.emit(f"{self.platform_name}-Account-Erstellung gestartet...")
@ -185,6 +188,9 @@ class BaseAccountCreationWorkerThread(QThread):
if save_result is not None:
result["save_result"] = save_result
# Feature 5: Markiere als erfolgreich für Process Guard
success = True
self.finished_signal.emit(result)
else:
error_msg = result.get("error", "Unbekannter Fehler")
@ -197,11 +203,17 @@ class BaseAccountCreationWorkerThread(QThread):
error_msg = str(e)
self.log_signal.emit(f"Schwerwiegender Fehler: {error_msg}")
self.log_signal.emit(traceback.format_exc())
interpreted_error = self._interpret_error(error_msg)
self.error_signal.emit(interpreted_error)
self.progress_signal.emit(0) # Reset progress on error
finally:
# Feature 5: Process Guard freigeben
from utils.process_guard import get_guard
guard = get_guard()
guard.end(success)
def _interpret_error(self, error_message: str) -> str:
"""Interpretiert Fehler mit Fuzzy-Matching"""
error_lower = error_message.lower()