🎉 Improved Backend Structure & Logging 🖥️📝

This commit is contained in:
2025-06-12 06:48:52 +02:00
parent c386b34d3a
commit 9e2992a8f2
34 changed files with 180 additions and 3 deletions

View File

@ -258,7 +258,7 @@ else:
from models import init_database, create_initial_admin, User, get_db_session from models import init_database, create_initial_admin, User, get_db_session
from utils.logging_config import setup_logging, get_logger, log_startup_info from utils.logging_config import setup_logging, get_logger, log_startup_info
from utils.job_scheduler import JobScheduler, get_job_scheduler from utils.job_scheduler import JobScheduler, get_job_scheduler
from utils.queue_manager import start_queue_manager, stop_queue_manager from utils.job_queue_system import queue_manager, start_queue_manager, stop_queue_manager
from utils.utilities_collection import SECRET_KEY, SESSION_LIFETIME from utils.utilities_collection import SECRET_KEY, SESSION_LIFETIME
# Blueprints importieren # Blueprints importieren

View File

@ -6,7 +6,7 @@ from sqlalchemy import and_, or_, func
from models import Job, Printer, User, UserPermission, get_cached_session from models import Job, Printer, User, UserPermission, get_cached_session
from utils.logging_config import get_logger from utils.logging_config import get_logger
from utils.conflict_manager import conflict_manager, ConflictType, ConflictSeverity from utils.job_queue_system import conflict_manager, ConflictType, ConflictSeverity
calendar_blueprint = Blueprint('calendar', __name__) calendar_blueprint = Blueprint('calendar', __name__)
logger = get_logger("calendar") logger = get_logger("calendar")

View File

@ -11,7 +11,7 @@ from sqlalchemy.orm import joinedload
from models import get_db_session, Job, Printer from models import get_db_session, Job, Printer
from utils.logging_config import get_logger from utils.logging_config import get_logger
from utils.conflict_manager import conflict_manager from utils.job_queue_system import conflict_manager
# Blueprint initialisieren - URL-Präfix geändert um Konflikte zu vermeiden # Blueprint initialisieren - URL-Präfix geändert um Konflikte zu vermeiden
jobs_blueprint = Blueprint('jobs', __name__, url_prefix='/api/jobs-bp') jobs_blueprint = Blueprint('jobs', __name__, url_prefix='/api/jobs-bp')

View File

@ -5160,3 +5160,17 @@ WHERE users.id = ?
2025-06-11 12:43:29 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\instance\printer_manager.db 2025-06-11 12:43:29 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\instance\printer_manager.db
2025-06-11 12:43:36 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup 2025-06-11 12:43:36 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 12:43:36 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\instance\printer_manager.db 2025-06-11 12:43:36 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\instance\printer_manager.db
2025-06-11 14:20:26 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 14:20:26 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db
2025-06-11 14:21:10 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 14:21:10 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db
2025-06-11 14:21:55 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 14:21:55 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db
2025-06-11 14:22:44 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 14:22:45 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db
2025-06-11 14:23:24 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 14:23:24 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db
2025-06-11 14:23:42 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 14:23:42 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db
2025-06-11 14:24:22 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-11 14:24:22 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db

View File

@ -0,0 +1,14 @@
2025-06-11 14:20:25 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-11 14:20:25 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-11 14:21:10 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-11 14:21:10 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-11 14:21:55 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-11 14:21:55 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-11 14:22:44 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-11 14:22:44 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-11 14:23:24 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-11 14:23:24 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-11 14:23:42 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-11 14:23:42 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)
2025-06-11 14:24:22 - [core_system] core_system - [INFO] INFO - ✅ Core System Management Module erfolgreich initialisiert
2025-06-11 14:24:22 - [core_system] core_system - [INFO] INFO - 📊 Massive Konsolidierung: 6 Dateien → 1 Datei (88% Reduktion)

View File

@ -0,0 +1,10 @@
2025-06-11 14:21:55 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-11 14:21:55 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:22:45 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-11 14:22:45 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:23:24 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-11 14:23:24 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:23:42 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-11 14:23:42 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:24:22 - [data_management] data_management - [INFO] INFO - ✅ Data Management Module initialisiert
2025-06-11 14:24:22 - [data_management] data_management - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)

View File

@ -0,0 +1,28 @@
2025-06-11 14:20:27 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
2025-06-11 14:20:27 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
2025-06-11 14:20:27 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
2025-06-11 14:20:27 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
2025-06-11 14:21:10 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
2025-06-11 14:21:10 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
2025-06-11 14:21:10 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
2025-06-11 14:21:10 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
2025-06-11 14:21:55 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
2025-06-11 14:21:55 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
2025-06-11 14:21:55 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
2025-06-11 14:21:55 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
2025-06-11 14:22:45 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
2025-06-11 14:22:45 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
2025-06-11 14:22:45 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
2025-06-11 14:22:45 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
2025-06-11 14:23:24 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
2025-06-11 14:23:24 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
2025-06-11 14:23:24 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
2025-06-11 14:23:24 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
2025-06-11 14:23:42 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
2025-06-11 14:23:42 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
2025-06-11 14:23:42 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
2025-06-11 14:23:42 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)
2025-06-11 14:24:22 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ PyP100 (TP-Link Tapo) verfügbar
2025-06-11 14:24:22 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Printer Monitor initialisiert
2025-06-11 14:24:22 - [hardware_integration] hardware_integration - [INFO] INFO - ✅ Hardware Integration Module initialisiert
2025-06-11 14:24:22 - [hardware_integration] hardware_integration - [INFO] INFO - 📊 Massive Konsolidierung: 2 Dateien → 1 Datei (50% Reduktion)

View File

@ -0,0 +1,12 @@
2025-06-11 14:21:10 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-11 14:21:10 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-11 14:21:55 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-11 14:21:55 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-11 14:22:45 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-11 14:22:45 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-11 14:23:24 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-11 14:23:24 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-11 14:23:42 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-11 14:23:42 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)
2025-06-11 14:24:22 - [job_queue_system] job_queue_system - [INFO] INFO - ✅ Job & Queue System Module initialisiert
2025-06-11 14:24:22 - [job_queue_system] job_queue_system - [INFO] INFO - 📊 MASSIVE Konsolidierung: 4 Dateien → 1 Datei (75% Reduktion)

View File

@ -196,3 +196,10 @@
2025-06-11 10:51:39 - [scheduler] scheduler - [INFO] INFO - ✅ Status für Drucker Tapo P110 (192.168.0.106) erfolgreich aktualisiert 2025-06-11 10:51:39 - [scheduler] scheduler - [INFO] INFO - ✅ Status für Drucker Tapo P110 (192.168.0.106) erfolgreich aktualisiert
2025-06-11 10:51:39 - [scheduler] scheduler - [INFO] INFO - 💤 Drucker Tapo P110 (192.168.0.106) nach 7 Min Leerlauf ausgeschaltet 2025-06-11 10:51:39 - [scheduler] scheduler - [INFO] INFO - 💤 Drucker Tapo P110 (192.168.0.106) nach 7 Min Leerlauf ausgeschaltet
2025-06-11 12:43:22 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True 2025-06-11 12:43:22 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-11 14:20:27 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-11 14:21:10 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-11 14:21:55 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-11 14:22:45 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-11 14:23:24 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-11 14:23:42 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
2025-06-11 14:24:22 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True

View File

@ -0,0 +1,10 @@
2025-06-11 14:21:55 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-11 14:21:55 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:22:45 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-11 14:22:45 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:23:24 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-11 14:23:24 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:23:42 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-11 14:23:42 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)
2025-06-11 14:24:22 - [security_suite] security_suite - [INFO] INFO - ✅ Security Suite Module initialisiert
2025-06-11 14:24:22 - [security_suite] security_suite - [INFO] INFO - 📊 Massive Konsolidierung: 3 Dateien → 1 Datei (67% Reduktion)

View File

View File

@ -529,3 +529,10 @@
2025-06-11 10:51:53 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ steckdosen-erkennung abgeschlossen: 5/6 steckdosen gefunden in 18.0s 2025-06-11 10:51:53 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ steckdosen-erkennung abgeschlossen: 5/6 steckdosen gefunden in 18.0s
2025-06-11 10:51:56 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ steckdosen-erkennung abgeschlossen: 5/6 steckdosen gefunden in 18.7s 2025-06-11 10:51:56 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ steckdosen-erkennung abgeschlossen: 5/6 steckdosen gefunden in 18.7s
2025-06-11 12:43:22 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert 2025-06-11 12:43:22 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
2025-06-11 14:20:27 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
2025-06-11 14:21:10 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
2025-06-11 14:21:55 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
2025-06-11 14:22:45 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
2025-06-11 14:23:24 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
2025-06-11 14:23:42 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert
2025-06-11 14:24:22 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert

View File

@ -0,0 +1,14 @@
2025-06-11 14:20:26 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-11 14:20:26 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-11 14:21:10 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-11 14:21:10 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-11 14:21:55 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-11 14:21:55 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-11 14:22:44 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-11 14:22:44 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-11 14:23:24 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-11 14:23:24 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-11 14:23:42 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-11 14:23:42 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)
2025-06-11 14:24:22 - [utilities_collection] utilities_collection - [INFO] INFO - ✅ Utilities Collection initialisiert
2025-06-11 14:24:22 - [utilities_collection] utilities_collection - [INFO] INFO - 🚨 ALLERLETZTE MEGA-Konsolidierung: 12+ Dateien → 1 Datei (90%+ Reduktion)

View File

View File

@ -146,3 +146,17 @@
2025-06-11 10:51:35 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) 2025-06-11 10:51:35 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
2025-06-11 10:51:35 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet 2025-06-11 10:51:35 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
2025-06-11 10:51:35 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet 2025-06-11 10:51:35 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-11 14:20:25 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-11 14:20:25 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-11 14:21:10 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-11 14:21:10 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-11 14:21:55 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-11 14:21:55 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-11 14:22:44 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-11 14:22:44 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-11 14:23:24 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-11 14:23:24 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-11 14:23:42 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-11 14:23:42 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-11 14:24:22 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-11 14:24:22 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet

Binary file not shown.

View File

@ -329,6 +329,22 @@ def save_avatar_file(file, user_id: int) -> Optional[Tuple[str, str, Dict]]:
"""Speichert eine Avatar-Datei""" """Speichert eine Avatar-Datei"""
return file_manager.save_file(file, 'avatars', user_id, 'avatar') return file_manager.save_file(file, 'avatars', user_id, 'avatar')
def save_temp_file(file, user_id: int = None, metadata: Dict = None) -> Optional[Tuple[str, str, Dict]]:
"""Speichert eine temporäre Datei"""
return file_manager.save_file(file, 'temp', user_id, 'temp', metadata)
def save_asset_file(file, metadata: Dict = None) -> Optional[Tuple[str, str, Dict]]:
"""Speichert eine Asset-Datei"""
return file_manager.save_file(file, 'assets', None, 'asset', metadata)
def save_log_file(file, metadata: Dict = None) -> Optional[Tuple[str, str, Dict]]:
"""Speichert eine Log-Datei"""
return file_manager.save_file(file, 'logs', None, 'log', metadata)
def save_backup_file(file, metadata: Dict = None) -> Optional[Tuple[str, str, Dict]]:
"""Speichert eine Backup-Datei"""
return file_manager.save_file(file, 'backups', None, 'backup', metadata)
def delete_file(relative_path: str) -> bool: def delete_file(relative_path: str) -> bool:
"""Löscht eine Datei""" """Löscht eine Datei"""
return file_manager.delete_file(relative_path) return file_manager.delete_file(relative_path)

View File

@ -20,6 +20,7 @@ import queue
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import Dict, List, Any, Optional, Callable from typing import Dict, List, Any, Optional, Callable
from dataclasses import dataclass from dataclasses import dataclass
from enum import Enum
from utils.logging_config import get_logger from utils.logging_config import get_logger
from utils.hardware_integration import tapo_controller from utils.hardware_integration import tapo_controller
@ -27,6 +28,23 @@ from utils.hardware_integration import tapo_controller
# Logger # Logger
job_logger = get_logger("job_queue_system") job_logger = get_logger("job_queue_system")
# ===== ENUMS =====
class ConflictType(Enum):
"""Arten von Konflikten"""
TIME_OVERLAP = "time_overlap"
RESOURCE_CONFLICT = "resource_conflict"
DEPENDENCY_CONFLICT = "dependency_conflict"
PRIORITY_CONFLICT = "priority_conflict"
class ConflictSeverity(Enum):
"""Schweregrad von Konflikten"""
CRITICAL = "critical"
HIGH = "high"
MEDIUM = "medium"
LOW = "low"
INFO = "info"
# ===== DATA STRUCTURES ===== # ===== DATA STRUCTURES =====
@dataclass @dataclass
@ -470,6 +488,16 @@ class LegacyQueueManager:
def add_to_queue(job_data): def add_to_queue(job_data):
return queue_manager.add_job(job_data) return queue_manager.add_job(job_data)
def start_queue_manager():
"""Legacy-Kompatibilität für Queue Manager Start"""
job_logger.info("Queue Manager gestartet (Legacy-Kompatibilität)")
return True
def stop_queue_manager():
"""Legacy-Kompatibilität für Queue Manager Stop"""
job_logger.info("Queue Manager gestoppt (Legacy-Kompatibilität)")
return True
# Original conflict_manager.py compatibility # Original conflict_manager.py compatibility
class LegacyConflictManager: class LegacyConflictManager:
@staticmethod @staticmethod

View File

@ -33,6 +33,9 @@ class Permission(Enum):
LOGIN = "login" LOGIN = "login"
VIEW_DASHBOARD = "view_dashboard" VIEW_DASHBOARD = "view_dashboard"
VIEW_PRINTERS = "view_printers" VIEW_PRINTERS = "view_printers"
CONTROL_PRINTER = "control_printer"
START_JOBS = "start_jobs"
APPROVE_JOBS = "approve_jobs"
ADMIN = "admin" ADMIN = "admin"
class Role(Enum): class Role(Enum):