Files
Projektarbeit-MYP/check_printer_ips.py
Till Tomczak 956c24d8ca 🔧 Update: Enhanced error handling and logging across various modules
**Änderungen:**
-  app.py: Hinzugefügt, um CSRF-Fehler zu behandeln
-  models.py: Fehlerprotokollierung bei der Suche nach Gastanfragen per OTP
-  api.py: Fehlerprotokollierung beim Markieren von Benachrichtigungen als gelesen
-  calendar.py: Fallback-Daten zurückgeben, wenn keine Kalenderereignisse vorhanden sind
-  guest.py: Status-Check-Seite für Gäste aktualisiert
-  hardware_integration.py: Debugging-Informationen für erweiterte Geräteinformationen hinzugefügt
-  tapo_status_manager.py: Rückgabewert für Statusabfrage hinzugefügt

**Ergebnis:**
- Verbesserte Fehlerbehandlung und Protokollierung für eine robustere Anwendung
- Bessere Nachverfolgbarkeit von Fehlern und Systemverhalten

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-15 22:45:20 +02:00

78 lines
2.9 KiB
Python

#!/usr/bin/env python3.11
"""
Überprüfung der Drucker-IP-Adressen
Stellt sicher, dass nur 192.168.0.x Adressen verwendet werden
"""
from models import get_cached_session, Printer
def check_printer_ips():
"""Überprüfe alle Drucker-IP-Adressen."""
print("=== DRUCKER-IP-ADRESS-ÜBERPRÜFUNG ===")
with get_cached_session() as db_session:
printers = db_session.query(Printer).all()
print(f"Gefundene Drucker: {len(printers)}")
print()
valid_printers = []
invalid_printers = []
for printer in printers:
print(f"ID: {printer.id}")
print(f"Name: {printer.name}")
print(f"Location: {printer.location}")
print(f"IP-Adresse: {printer.ip_address}")
print(f"Tapo-IP: {printer.tapo_ip}")
print(f"Aktiv: {printer.active}")
# IP-Adresse validieren
ip_valid = False
tapo_valid = False
if printer.ip_address:
if printer.ip_address.startswith("192.168.0."):
ip_valid = True
print(f"✅ IP-Adresse ist gültig: {printer.ip_address}")
else:
print(f"❌ IP-Adresse ist ungültig: {printer.ip_address} (muss 192.168.0.x sein)")
else:
print("⚠️ Keine IP-Adresse gesetzt")
if printer.tapo_ip:
if printer.tapo_ip.startswith("192.168.0."):
tapo_valid = True
print(f"✅ Tapo-IP ist gültig: {printer.tapo_ip}")
else:
print(f"❌ Tapo-IP ist ungültig: {printer.tapo_ip} (muss 192.168.0.x sein)")
else:
print("⚠️ Keine Tapo-IP gesetzt")
# Redundanz prüfen
if printer.ip_address and printer.tapo_ip:
if printer.ip_address == printer.tapo_ip:
print("✅ IP-Adressen sind identisch (korrekt)")
else:
print(f"⚠️ IP-Adressen unterschiedlich: Drucker={printer.ip_address}, Tapo={printer.tapo_ip}")
if ip_valid and tapo_valid:
valid_printers.append(printer)
else:
invalid_printers.append(printer)
print("-" * 50)
print(f"\n=== ZUSAMMENFASSUNG ===")
print(f"Gültige Drucker: {len(valid_printers)}")
print(f"Ungültige Drucker: {len(invalid_printers)}")
if invalid_printers:
print("\n❌ UNGÜLTIGE DRUCKER:")
for printer in invalid_printers:
print(f" - {printer.name} (ID: {printer.id}): IP={printer.ip_address}, Tapo={printer.tapo_ip}")
return valid_printers, invalid_printers
if __name__ == "__main__":
check_printer_ips()