🎉 Feat: Enhanced Printer Management System

This commit introduces a comprehensive overhaul of the printer management system, enhancing its functionality and user experience. The following changes have been implemented:

- backend/blueprints/__pycache__/admin_unified.cpython-311.pyc: Updated for improved admin interface integration.
- backend/blueprints/__pycache__/drucker_steuerung.cpython-311.pyc
This commit is contained in:
2025-06-19 22:34:54 +02:00
parent 9696cdcc3f
commit 78a9f9545f
25 changed files with 332 additions and 38 deletions

View File

@@ -367,12 +367,13 @@ class JobScheduler:
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
# Smart-Plug einschalten
if printer and printer.tapo_ip:
plug_success = tapo_controller.turn_on_plug(printer.tapo_ip)
if plug_success:
if printer and printer.plug_ip:
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_einschalten(printer.id, "Job-Start über Queue-System")
if ergebnis['success']:
job_logger.info(f"Smart-Plug für Drucker {printer.name} eingeschaltet")
else:
job_logger.warning(f"Smart-Plug für Drucker {printer.name} konnte nicht eingeschaltet werden")
job_logger.warning(f"Smart-Plug für Drucker {printer.name} konnte nicht eingeschaltet werden: {ergebnis.get('error', 'Unbekannter Fehler')}")
# Job-Status aktualisieren
job.status = 'printing'
@@ -411,10 +412,11 @@ class JobScheduler:
printer = db_session.query(Printer).filter(Printer.id == job.printer_id).first()
# Smart-Plug ausschalten
if printer and printer.tapo_ip:
plug_success = tapo_controller.turn_off_plug(printer.tapo_ip)
if plug_success:
# Smart-Plug ausschalten über neue Hardware-Integration
if printer and printer.plug_ip:
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_ausschalten(printer.id, "Job-Ende über Queue-System")
if ergebnis['success']:
job_logger.info(f"Smart-Plug für Drucker {printer.name} ausgeschaltet")
# Job-Status aktualisieren

View File

@@ -642,8 +642,11 @@ class BackgroundTaskScheduler:
try:
self.logger.info(f"Starte geplanten Job {job.id} für Drucker {job.printer_id}")
# Steckdose einschalten
success, msg = printer_monitor.control_plug(job.printer_id, "on")
# Steckdose einschalten über neue Hardware-Integration
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_einschalten(job.printer_id, "Geplanter Job-Start")
success = ergebnis['success']
msg = ergebnis.get('message', ergebnis.get('error', 'Unbekannter Fehler'))
if success:
job.status = "running"
@@ -670,8 +673,11 @@ class BackgroundTaskScheduler:
try:
self.logger.info(f"Beende Job {job.id} für Drucker {job.printer_id}")
# Steckdose ausschalten
success, msg = printer_monitor.control_plug(job.printer_id, "off")
# Steckdose ausschalten über neue Hardware-Integration
drucker_steuerung = get_drucker_steuerung()
ergebnis = drucker_steuerung.drucker_ausschalten(job.printer_id, "Geplanter Job-Ende")
success = ergebnis['success']
msg = ergebnis.get('message', ergebnis.get('error', 'Unbekannter Fehler'))
if success:
job.status = "finished"