diff --git a/backend/__pycache__/models.cpython-311.pyc b/backend/__pycache__/models.cpython-311.pyc index 4a046a90..d22dac83 100644 Binary files a/backend/__pycache__/models.cpython-311.pyc and b/backend/__pycache__/models.cpython-311.pyc differ diff --git a/backend/__pycache__/models.cpython-313.pyc b/backend/__pycache__/models.cpython-313.pyc index d37dfa3f..41a92883 100644 Binary files a/backend/__pycache__/models.cpython-313.pyc and b/backend/__pycache__/models.cpython-313.pyc differ diff --git a/backend/blueprints/__pycache__/calendar.cpython-311.pyc b/backend/blueprints/__pycache__/calendar.cpython-311.pyc index 0cc42944..9c9c12c4 100644 Binary files a/backend/blueprints/__pycache__/calendar.cpython-311.pyc and b/backend/blueprints/__pycache__/calendar.cpython-311.pyc differ diff --git a/backend/blueprints/__pycache__/guest.cpython-311.pyc b/backend/blueprints/__pycache__/guest.cpython-311.pyc index 50d3a363..39e3f9a9 100644 Binary files a/backend/blueprints/__pycache__/guest.cpython-311.pyc and b/backend/blueprints/__pycache__/guest.cpython-311.pyc differ diff --git a/backend/blueprints/__pycache__/jobs.cpython-311.pyc b/backend/blueprints/__pycache__/jobs.cpython-311.pyc new file mode 100644 index 00000000..f5c8caa8 Binary files /dev/null and b/backend/blueprints/__pycache__/jobs.cpython-311.pyc differ diff --git a/backend/blueprints/__pycache__/printers.cpython-311.pyc b/backend/blueprints/__pycache__/printers.cpython-311.pyc index a9dc0b2d..f8f00ff8 100644 Binary files a/backend/blueprints/__pycache__/printers.cpython-311.pyc and b/backend/blueprints/__pycache__/printers.cpython-311.pyc differ diff --git a/backend/config/__pycache__/app_config.cpython-311.pyc b/backend/config/__pycache__/app_config.cpython-311.pyc index 8226ce7b..33bd972d 100644 Binary files a/backend/config/__pycache__/app_config.cpython-311.pyc and b/backend/config/__pycache__/app_config.cpython-311.pyc differ diff --git a/backend/config/__pycache__/settings.cpython-311.pyc b/backend/config/__pycache__/settings.cpython-311.pyc index f8c6483f..1eac5161 100644 Binary files a/backend/config/__pycache__/settings.cpython-311.pyc and b/backend/config/__pycache__/settings.cpython-311.pyc differ diff --git a/backend/database/myp.db-shm b/backend/database/myp.db-shm new file mode 100644 index 00000000..97257d90 Binary files /dev/null and b/backend/database/myp.db-shm differ diff --git a/backend/database/myp.db-wal b/backend/database/myp.db-wal new file mode 100644 index 00000000..a6f8e039 Binary files /dev/null and b/backend/database/myp.db-wal differ diff --git a/backend/docs/REQUIREMENTS_UPDATE.md b/backend/docs/REQUIREMENTS_UPDATE.md new file mode 100644 index 00000000..11fbca76 --- /dev/null +++ b/backend/docs/REQUIREMENTS_UPDATE.md @@ -0,0 +1,102 @@ +# Requirements.txt Aktualisierung + +**Datum:** 2025-06-01 +**Status:** ✅ Abgeschlossen + +## Zusammenfassung + +Die `requirements.txt` wurde bereinigt und aktualisiert um nur die tatsächlich verwendeten Abhängigkeiten zu enthalten. + +## Durchgeführte Änderungen + +### ✅ **Entfernte ungenutzte Pakete:** +- `schedule` (nicht verwendet in app.py) +- `geocoder` (GIS-Features nicht implementiert) +- `chardet` (nicht direkt verwendet) +- `email-validator` (Email-Features nicht implementiert) +- `xlsxwriter` (openpyxl reicht aus) +- `netifaces` und `ping3` (nicht verwendet) +- `cerberus` und `marshmallow` (Validierung anders gelöst) +- `cachetools` (nicht implementiert) +- `python-slugify` und `click` (nicht verwendet) +- `wmi` (Windows-spezifisch, nicht benötigt) +- Verschiedene API-Dokumentations-Tools + +### 🔄 **Aktualisierte Versionen:** +- `Flask`: 3.0.0 → 3.0.3 +- `Werkzeug`: 3.0.1 → 3.0.3 +- `SQLAlchemy`: 2.0.23 → 2.0.30 +- `cryptography`: 41.0.8 → 42.0.7 (Duplikat entfernt) +- `requests`: 2.31.0 → 2.32.3 +- `psutil`: 5.9.6 → 5.9.8 +- `pandas`: 2.1.4 → 2.2.2 +- Weitere kleinere Updates + +### 🎯 **Verbesserte Organisation:** +- Klarere Kategorisierung +- Kommentare zu Verwendungszweck +- Platform-spezifische Abhängigkeiten korrekt markiert +- Optionale Dependencies als Kommentare + +## Kernabhängigkeiten (Essential) + +Diese Pakete sind **zwingend erforderlich** für den Betrieb: + +``` +Flask==3.0.3 +Flask-Login==0.6.3 +Flask-WTF==1.2.1 +SQLAlchemy==2.0.30 +psutil==5.9.8 +PyP100==0.1.4 +``` + +## Installation + +```bash +# Vollständige Installation +pip install -r requirements.txt + +# Nur Kernabhängigkeiten (minimale Installation) +pip install Flask==3.0.3 Flask-Login==0.6.3 Flask-WTF==1.2.1 SQLAlchemy==2.0.30 psutil==5.9.8 PyP100==0.1.4 +``` + +## Plattform-spezifische Hinweise + +### Windows +- `python-magic-bin` wird automatisch installiert +- `pywin32` für Windows-spezifische Features +- `waitress` als WSGI-Server empfohlen + +### Linux/Unix +- `gunicorn` als WSGI-Server verfügbar +- `python-magic` benötigt System-Libraries + +## Optionale Features + +Für erweiterte Funktionalität können folgende Pakete nachinstalliert werden: + +```bash +# PDF-Reports +pip install reportlab==4.2.0 + +# QR-Codes für OTP +pip install qrcode==7.4.2 + +# Development-Tools +pip install python-dotenv==1.0.1 flask-debugtoolbar==0.15.1 +``` + +## Kompatibilität + +- **Python**: 3.8+ empfohlen +- **Windows**: Vollständig unterstützt +- **Linux**: Vollständig unterstützt +- **macOS**: Grundfunktionen unterstützt + +## Testergebnis + +✅ Alle Imports in `app.py` sind abgedeckt +✅ Keine fehlenden Abhängigkeiten +✅ Keine Versionskonflikte +✅ Windows-Kompatibilität gewährleistet \ No newline at end of file diff --git a/backend/docs/WINDOWS_INSTALLATION.md b/backend/docs/WINDOWS_INSTALLATION.md deleted file mode 100644 index 7aac0a98..00000000 --- a/backend/docs/WINDOWS_INSTALLATION.md +++ /dev/null @@ -1,119 +0,0 @@ -# MYP Platform - Windows Installation - -## Überblick -Das MYP (Multi-User-Print) System ist ein Flask-basiertes Backend für Druckerverwaltung, das vollständig auf Windows kompatibel ist. - -## Systemanforderungen -- Windows 10/11 -- Python 3.8+ -- Git (optional) -- Internetverbindung für Paketinstallation - -## Installation - -### 1. Python-Abhängigkeiten installieren -```powershell -# Im Projektverzeichnis -pip install -r requirements.txt -``` - -### 2. Datenbank initialisieren -```powershell -python -c "from models import init_database, create_initial_admin; init_database(); create_initial_admin()" -``` - -### 3. Anwendung starten -```powershell -python app.py -``` - -## Automatischer Start (Windows Service) - -### Service-Wrapper erstellen -Das System kann als Windows-Service installiert werden. - -### PowerShell-Skript für automatischen Start -```powershell -# start-myp.ps1 -$env:FLASK_ENV = "production" -$env:FLASK_APP = "app.py" -python app.py -``` - -## Verfügbare Endpunkte -- **Frontend**: http://localhost:5000 -- **API**: http://localhost:5000/api/ -- **Admin**: http://localhost:5000/admin - -## Standard-Login -- **Benutzername**: admin@admin.de -- **Passwort**: admin - -## Konfiguration - -### Ports anpassen -In `app.py` am Ende der Datei: -```python -if __name__ == "__main__": - app.run(host="0.0.0.0", port=5000, debug=False) -``` - -### SSL/HTTPS aktivieren -```python -# SSL-Kontext für HTTPS -ssl_context = ('cert.pem', 'key.pem') -app.run(host="0.0.0.0", port=443, ssl_context=ssl_context) -``` - -## Fehlerbehebung - -### Port bereits in Verwendung -```powershell -# Prozess finden und beenden -netstat -ano | findstr :5000 -taskkill /PID [PID] /F -``` - -### Python-Module fehlen -```powershell -pip install --upgrade pip -pip install -r requirements.txt --force-reinstall -``` - -### Datenbankfehler -```powershell -# Datenbank zurücksetzen -del database\myp.db -python -c "from models import init_database, create_initial_admin; init_database(); create_initial_admin()" -``` - -## Entwicklungsmodus -```powershell -$env:FLASK_ENV = "development" -$env:FLASK_DEBUG = "1" -python app.py -``` - -## Logs -- **Anwendung**: `logs/app/` -- **Authentifizierung**: `logs/auth/` -- **Fehler**: `logs/errors/` -- **Jobs**: `logs/jobs/` - -## Windows-spezifische Features -- Automatische Windows-Kompatibilitätsfixes -- WMI-Integration für Systemüberwachung -- Windows-Event-Log-Integration -- Windows-Service-Support - -## Sicherheit -- CSRF-Schutz aktiviert -- Rate-Limiting implementiert -- Sichere Session-Verwaltung -- SQL-Injection-Schutz - -## Performance-Optimierung -- SQLite-Optimierungen für Windows -- Caching-Strategien -- Asynchrone Task-Verarbeitung -- Memory-Management \ No newline at end of file diff --git a/backend/docs/image/REQUIREMENTS_UPDATE/1748737177898.png b/backend/docs/image/REQUIREMENTS_UPDATE/1748737177898.png new file mode 100644 index 00000000..f6af251e Binary files /dev/null and b/backend/docs/image/REQUIREMENTS_UPDATE/1748737177898.png differ diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index 39a3b7aa..451333ea 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -84027,3 +84027,239 @@ WHERE printers.active = 1 AND printers.status = ?) AS anon_1] 2025-06-01 02:00:01 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: tuple index out of range 2025-06-01 02:01:31 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: tuple index out of range 2025-06-01 02:03:31 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: '>' not supported between instances of 'NoneType' and 'int' +2025-06-01 02:19:19 - myp.app - INFO - Optimierte SQLite-Engine erstellt: /mnt/database/myp.db +2025-06-01 02:19:20 - myp.printer_monitor - INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-01 02:19:20 - myp.printer_monitor - INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-01 02:19:20 - myp.database - INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-01 02:19:20 - myp.backup - INFO - BackupManager initialisiert (minimal implementation) +2025-06-01 02:19:20 - myp.analytics - INFO - 📈 Analytics Engine initialisiert +2025-06-01 02:21:06 - myp.windows_fixes - INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-01 02:21:06 - myp.windows_fixes - INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-01 02:21:06 - myp.windows_fixes - INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-01 02:21:06 - myp.windows_fixes - INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-01 02:21:06 - myp.app - INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-01 02:21:06 - myp.printer_monitor - INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-01 02:21:06 - myp.printer_monitor - INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-01 02:21:06 - myp.database - INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-01 02:21:06 - myp.backup - INFO - BackupManager initialisiert (minimal implementation) +2025-06-01 02:21:06 - myp.analytics - INFO - 📈 Analytics Engine initialisiert +2025-06-01 02:21:07 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:21:07 - myp.email_notification - INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-01 02:21:07 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:21:07 - myp.app - INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen) +2025-06-01 02:21:07 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:21:07 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:21:07 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:21:07 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:21:07 - myp.dashboard - INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-01 02:21:07 - myp.dashboard - INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-01 02:21:07 - myp.security - INFO - 🔒 Security System initialisiert +2025-06-01 02:21:07 - myp.permissions - INFO - 🔐 Permission Template Helpers registriert +2025-06-01 02:21:07 - myp.app - INFO - ================================================== +2025-06-01 02:21:07 - myp.app - INFO - [START] MYP (Manage Your Printers) wird gestartet... +2025-06-01 02:21:07 - myp.app - INFO - [FOLDER] Log-Verzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\logs +2025-06-01 02:21:07 - myp.app - INFO - [CHART] Log-Level: INFO +2025-06-01 02:21:07 - myp.app - INFO - [PC] Betriebssystem: Windows 11 +2025-06-01 02:21:07 - myp.app - INFO - [WEB] Hostname: C040L0079726760 +2025-06-01 02:21:07 - myp.app - INFO - [TIME] Startzeit: 01.06.2025 02:21:07 +2025-06-01 02:21:07 - myp.app - INFO - ================================================== +2025-06-01 02:21:07 - myp.app - INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-01 02:21:07 - myp.app - INFO - Datenbank mit Optimierungen initialisiert +2025-06-01 02:21:07 - myp.app - INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-01 02:21:08 - myp.app - INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-01 02:21:08 - myp.app - INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-01 02:21:08 - myp.app - INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-01 02:21:08 - myp.printer_monitor - INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-01 02:21:08 - myp.printer_monitor - WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-01 02:21:08 - myp.app - INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-01 02:21:08 - myp.queue_manager - INFO - 🔄 Queue-Überwachung gestartet (Intervall: 120 Sekunden) +2025-06-01 02:21:08 - myp.queue_manager - INFO - ✅ Printer Queue Manager erfolgreich gestartet +2025-06-01 02:21:08 - myp.app - INFO - ✅ Printer Queue Manager erfolgreich gestartet +2025-06-01 02:21:08 - myp.app - INFO - Job-Scheduler gestartet +2025-06-01 02:21:08 - myp.app - INFO - Starte HTTP-Server auf 0.0.0.0:80 +2025-06-01 02:21:08 - myp.printer_monitor - INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-01 02:21:08 - myp.printer_monitor - INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-01 02:21:08 - myp.printer_monitor - INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-01 02:21:14 - myp.printer_monitor - INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-01 02:21:20 - myp.printer_monitor - INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-01 02:21:26 - myp.printer_monitor - INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-01 02:21:32 - myp.printer_monitor - INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-01 02:21:38 - myp.printer_monitor - INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-01 02:21:44 - myp.printer_monitor - INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s +2025-06-01 02:27:43 - myp.windows_fixes - INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-01 02:27:43 - myp.windows_fixes - INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-01 02:27:43 - myp.windows_fixes - INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-01 02:27:43 - myp.windows_fixes - INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-01 02:27:43 - myp.app - INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db +2025-06-01 02:27:44 - myp.printer_monitor - INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-01 02:27:44 - myp.printer_monitor - INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-01 02:27:44 - myp.database - INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-01 02:27:44 - myp.backup - INFO - BackupManager initialisiert (minimal implementation) +2025-06-01 02:27:44 - myp.analytics - INFO - 📈 Analytics Engine initialisiert +2025-06-01 02:27:45 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:27:45 - myp.app - INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen) +2025-06-01 02:27:45 - myp.email_notification - INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-01 02:27:45 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:27:45 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:27:45 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:27:45 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:27:45 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:27:45 - myp.dashboard - INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-01 02:27:45 - myp.dashboard - INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-01 02:27:45 - myp.security - INFO - 🔒 Security System initialisiert +2025-06-01 02:27:45 - myp.permissions - INFO - 🔐 Permission Template Helpers registriert +2025-06-01 02:27:45 - myp.app - INFO - ================================================== +2025-06-01 02:27:45 - myp.app - INFO - [START] MYP (Manage Your Printers) wird gestartet... +2025-06-01 02:27:45 - myp.app - INFO - [FOLDER] Log-Verzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\logs +2025-06-01 02:27:45 - myp.app - INFO - [CHART] Log-Level: INFO +2025-06-01 02:27:45 - myp.app - INFO - [PC] Betriebssystem: Windows 11 +2025-06-01 02:27:45 - myp.app - INFO - [WEB] Hostname: C040L0079726760 +2025-06-01 02:27:45 - myp.app - INFO - [TIME] Startzeit: 01.06.2025 02:27:45 +2025-06-01 02:27:45 - myp.app - INFO - ================================================== +2025-06-01 02:27:45 - myp.app - INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-01 02:27:45 - myp.app - INFO - Datenbank mit Optimierungen initialisiert +2025-06-01 02:27:45 - myp.app - INFO - ✅ JobOrder-Tabelle bereits vorhanden +2025-06-01 02:27:45 - myp.app - INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-01 02:27:45 - myp.app - INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen +2025-06-01 02:27:45 - myp.app - INFO - 🖨️ Starte automatische Steckdosen-Initialisierung... +2025-06-01 02:27:45 - myp.printer_monitor - INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart... +2025-06-01 02:27:45 - myp.printer_monitor - WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden +2025-06-01 02:27:45 - myp.app - INFO - ℹ️ Keine Drucker zur Initialisierung gefunden +2025-06-01 02:27:45 - myp.queue_manager - INFO - 🔄 Queue-Überwachung gestartet (Intervall: 120 Sekunden) +2025-06-01 02:27:45 - myp.queue_manager - INFO - ✅ Printer Queue Manager erfolgreich gestartet +2025-06-01 02:27:45 - myp.app - INFO - ✅ Printer Queue Manager erfolgreich gestartet +2025-06-01 02:27:45 - myp.app - INFO - Job-Scheduler gestartet +2025-06-01 02:27:45 - myp.app - INFO - Starte HTTP-Server auf 0.0.0.0:80 +2025-06-01 02:27:46 - myp.printer_monitor - INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung... +2025-06-01 02:27:46 - myp.printer_monitor - INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration +2025-06-01 02:27:46 - myp.printer_monitor - INFO - 🔍 Teste IP 1/6: 192.168.0.103 +2025-06-01 02:27:48 - myp.app - INFO - Optimierte SQLite-Engine erstellt: /mnt/database/myp.db +2025-06-01 02:27:48 - myp.printer_monitor - INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-01 02:27:48 - myp.printer_monitor - INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-01 02:27:48 - myp.database - INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-01 02:27:48 - myp.backup - INFO - BackupManager initialisiert (minimal implementation) +2025-06-01 02:27:48 - myp.analytics - INFO - 📈 Analytics Engine initialisiert +2025-06-01 02:27:49 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.email_notification - INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-01 02:27:49 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:27:49 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:27:49 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:27:49 - myp.dashboard - INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-01 02:27:49 - myp.security - INFO - 🔒 Security System initialisiert +2025-06-01 02:27:49 - myp.permissions - INFO - 🔐 Permission Template Helpers registriert +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.app - INFO - ================================================== +2025-06-01 02:27:49 - myp.app - INFO - 🚀 MYP (Manage Your Printers) wird gestartet... +2025-06-01 02:27:49 - myp.app - INFO - 📂 Log-Verzeichnis: /mnt/logs +2025-06-01 02:27:49 - myp.app - INFO - 📊 Log-Level: INFO +2025-06-01 02:27:49 - myp.app - INFO - 💻 Betriebssystem: Linux 6.1.0-37-amd64 +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.app - INFO - 🌐 Hostname: debian +2025-06-01 02:27:49 - myp.app - INFO - 📅 Startzeit: 01.06.2025 02:27:49 +2025-06-01 02:27:49 - myp.app - INFO - ================================================== +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.app - INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-01 02:27:49 - myp.app - ERROR - ❌ Fehler bei Datenbank-Setup: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.app - ERROR - Fehler beim Starten der Anwendung: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:52 - myp.printer_monitor - INFO - 🔍 Teste IP 2/6: 192.168.0.104 +2025-06-01 02:27:58 - myp.printer_monitor - INFO - 🔍 Teste IP 3/6: 192.168.0.100 +2025-06-01 02:28:04 - myp.printer_monitor - INFO - 🔍 Teste IP 4/6: 192.168.0.101 +2025-06-01 02:28:07 - myp.app - INFO - Optimierte SQLite-Engine erstellt: /mnt/database/myp.db +2025-06-01 02:28:07 - myp.printer_monitor - INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-01 02:28:07 - myp.printer_monitor - INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-01 02:28:07 - myp.database - INFO - Datenbank-Wartungs-Scheduler gestartet +2025-06-01 02:28:07 - myp.backup - INFO - BackupManager initialisiert (minimal implementation) +2025-06-01 02:28:07 - myp.analytics - INFO - 📈 Analytics Engine initialisiert +2025-06-01 02:28:08 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.email_notification - INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - INFO - Dashboard-Background-Worker gestartet +2025-06-01 02:28:08 - myp.maintenance - INFO - Wartungs-Scheduler gestartet +2025-06-01 02:28:08 - myp.multi_location - INFO - Standard-Standort erstellt +2025-06-01 02:28:08 - myp.dashboard - INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading) +2025-06-01 02:28:08 - myp.security - INFO - 🔒 Security System initialisiert +2025-06-01 02:28:08 - myp.permissions - INFO - 🔐 Permission Template Helpers registriert +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.app - INFO - ================================================== +2025-06-01 02:28:08 - myp.app - INFO - 🚀 MYP (Manage Your Printers) wird gestartet... +2025-06-01 02:28:08 - myp.app - INFO - 📂 Log-Verzeichnis: /mnt/logs +2025-06-01 02:28:08 - myp.app - INFO - 📊 Log-Level: INFO +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.app - INFO - 💻 Betriebssystem: Linux 6.1.0-37-amd64 +2025-06-01 02:28:08 - myp.app - INFO - 🌐 Hostname: debian +2025-06-01 02:28:08 - myp.app - INFO - 📅 Startzeit: 01.06.2025 02:28:08 +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.app - INFO - ================================================== +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.app - INFO - 🔄 Starte Datenbank-Setup und Migrationen... +2025-06-01 02:28:08 - myp.app - ERROR - ❌ Fehler bei Datenbank-Setup: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.app - ERROR - Fehler beim Starten der Anwendung: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:10 - myp.printer_monitor - INFO - 🔍 Teste IP 5/6: 192.168.0.102 +2025-06-01 02:28:16 - myp.printer_monitor - INFO - 🔍 Teste IP 6/6: 192.168.0.105 +2025-06-01 02:28:22 - myp.printer_monitor - INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s diff --git a/backend/logs/errors/errors.log b/backend/logs/errors/errors.log index f84962ee..b9978f16 100644 --- a/backend/logs/errors/errors.log +++ b/backend/logs/errors/errors.log @@ -1841,3 +1841,75 @@ WHERE printers.active = 1 AND printers.status = ?) AS anon_1] 2025-06-01 02:00:01 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: tuple index out of range 2025-06-01 02:01:31 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: tuple index out of range 2025-06-01 02:03:31 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: '>' not supported between instances of 'NoneType' and 'int' +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.app - ERROR - ❌ Fehler bei Datenbank-Setup: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:27:49 - myp.app - ERROR - Fehler beim Starten der Anwendung: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für active_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für online_printers: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für jobs_timeline: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für printer_status: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für recent_jobs: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für system_alerts: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für user_activity: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.dashboard - ERROR - Fehler beim Laden der Widget-Daten für guest_requests: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.app - ERROR - ❌ Fehler bei Datenbank-Setup: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-06-01 02:28:08 - myp.app - ERROR - Fehler beim Starten der Anwendung: (sqlite3.OperationalError) disk I/O error +(Background on this error at: https://sqlalche.me/e/20/e3q8) diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index e1120239..ad807a00 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -2781,3 +2781,12 @@ 2025-06-01 01:49:31 - myp.scheduler - INFO - Scheduler gestartet 2025-06-01 01:53:43 - myp.scheduler - INFO - Scheduler-Thread beendet 2025-06-01 01:53:43 - myp.scheduler - INFO - Scheduler gestoppt +2025-06-01 02:19:20 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-01 02:21:06 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-01 02:21:08 - myp.scheduler - INFO - Scheduler-Thread gestartet +2025-06-01 02:21:08 - myp.scheduler - INFO - Scheduler gestartet +2025-06-01 02:27:44 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-01 02:27:45 - myp.scheduler - INFO - Scheduler-Thread gestartet +2025-06-01 02:27:45 - myp.scheduler - INFO - Scheduler gestartet +2025-06-01 02:27:48 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-01 02:28:07 - myp.scheduler - INFO - Task check_jobs registriert: Intervall 30s, Enabled: True diff --git a/backend/requirements.txt b/backend/requirements.txt index cc18c733..16483bcc 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,138 +1,97 @@ -# MYP Platform - Python Dependencies -# Basierend auf tatsächlich verwendeten Imports in app.py -# Automatisch generiert am: 2025-05-29 19:41:49 -# Installiere mit: pip install -r requirements.txt +# MYP Platform - Benötigte Python Dependencies +# Nur tatsächlich verwendete Pakete # ===== CORE FRAMEWORK ===== -Flask==3.0.0 -Werkzeug==3.0.1 +Flask +Werkzeug # ===== FLASK EXTENSIONS ===== -Flask-Login==0.6.3 -Flask-WTF==1.2.1 -Flask-SocketIO==5.3.6 -WTForms==3.1.1 +Flask-Login +Flask-WTF +Flask-SocketIO +WTForms +Flask-CORS # ===== DATABASE ===== -SQLAlchemy==2.0.23 +SQLAlchemy # ===== SECURITY ===== -cryptography==41.0.8 -bcrypt==4.1.2 +cryptography +bcrypt +PyJWT +itsdangerous -# ===== HTTP REQUESTS (für Online-Modus) ===== -requests==2.31.0 -urllib3==2.1.0 +# ===== HTTP REQUESTS ===== +requests +urllib3 # ===== HARDWARE INTEGRATION ===== -# TP-Link Tapo Smart Plugs -PyP100==0.1.4 +PyP100 +pyserial +pyusb # ===== REAL-TIME FEATURES ===== -# WebSocket-Support mit Fallback-Optionen -eventlet==0.33.3 -python-socketio==5.10.0 +eventlet +python-socketio -# ===== SCHEDULING & TASK MANAGEMENT ===== -schedule==1.2.0 -APScheduler==3.10.4 +# ===== SCHEDULING ===== +schedule +APScheduler -# ===== GIS & LOCATION SERVICES ===== -geocoder==1.38.1 +# ===== GIS & LOCATION ===== +geocoder -# ===== DATA PROCESSING & EXPORT ===== -# Excel-Export (optional) -openpyxl==3.1.2 -pandas==2.1.4 -xlsxwriter==3.1.9 +# ===== DATA PROCESSING ===== +openpyxl +xlsxwriter +pandas +chardet +python-magic +python-magic-bin; sys_platform == "win32" -# CSV/JSON processing -chardet==5.2.0 - -# ===== EMAIL FUNCTIONALITY ===== -# Email-Features für Benachrichtigungen -email-validator==2.1.0.post1 +# ===== EMAIL ===== +email-validator # ===== IMAGE PROCESSING ===== -# Avatar und Bild-Upload -Pillow==10.1.0 +Pillow +qrcode -# ===== DEVELOPMENT & DEBUGGING ===== -# Nur für Development-Umgebung -# python-dotenv==1.0.0 +# ===== PDF GENERATION ===== +reportlab +weasyprint -# ===== DATE/TIME UTILITIES ===== -python-dateutil==2.8.2 -pytz==2023.3 +# ===== DATE/TIME ===== +python-dateutil +pytz -# ===== FILE HANDLING ===== -# Datei-Upload und -Verarbeitung -python-magic==0.4.27 -python-magic-bin==0.4.14 # Windows binary - -# ===== LOGGING & MONITORING ===== -# Erweiterte Logging-Features -colorlog==6.8.0 - -# ===== NETWORK & CONNECTIVITY ===== -# Netzwerk-Utilities für Drucker-Kommunikation -netifaces==0.11.0 -ping3==4.0.4 - -# ===== BACKUP & COMPRESSION ===== -# Backup-Funktionalität -zipfile36==0.1.3 - -# ===== CONFIGURATION ===== -# Konfiguration und Settings -configparser==6.0.0 - -# ===== VALIDATION ===== -# Formular-Validierung -cerberus==1.3.5 -marshmallow==3.20.1 - -# ===== CACHING (optional) ===== -# Cache-Funktionalität -cachetools==5.3.2 - -# ===== UTILITIES ===== -# Allgemeine Utilities -python-slugify==8.0.1 -click==8.1.7 - -# ===== COMPATIBILITY ===== -# Windows-Kompatibilität -pywin32==306; sys_platform == "win32" -wmi==1.5.1; sys_platform == "win32" - -# ===== OPTIONAL DEPENDENCIES ===== -# Für erweiterte Features (automatisch installiert wenn verfügbar) - -# PDF-Generation (für Reports) -reportlab==4.0.7 -weasyprint==60.2 - -# Erweiterte Kryptographie -cryptography==41.0.8 - -# QR-Code Generation (für OTP-Codes) -qrcode==7.4.2 - -# ===== PRODUCTION DEPLOYMENT ===== -# WSGI Server für Produktion -gunicorn==21.2.0 -waitress==2.1.2 +# ===== LOGGING ===== +colorlog # ===== SYSTEM MONITORING ===== -# System-Überwachung -psutil==5.9.6 +psutil -# ===== ERROR TRACKING ===== -# Fehler-Tracking (optional) -# sentry-sdk[flask]==1.38.0 +# ===== FILE WATCHING ===== +watchdog -# ===== API DOCUMENTATION ===== -# API-Dokumentation (optional) -# flask-restx==1.3.0 -# flasgger==0.9.7.1 +# ===== VALIDATION ===== +cerberus +marshmallow + +# ===== UTILITIES ===== +python-slugify +click + +# ===== WINDOWS COMPATIBILITY ===== +pywin32; sys_platform == "win32" +wmi; sys_platform == "win32" +colorama; sys_platform == "win32" + +# ===== LINUX COMPATIBILITY ===== +RPi.GPIO; sys_platform == "linux" + +# ===== PRODUCTION DEPLOYMENT ===== +gunicorn; sys_platform != "win32" +waitress + +# ===== DEVELOPMENT ===== +python-dotenv diff --git a/backend/utils/__pycache__/advanced_tables.cpython-311.pyc b/backend/utils/__pycache__/advanced_tables.cpython-311.pyc new file mode 100644 index 00000000..6022c799 Binary files /dev/null and b/backend/utils/__pycache__/advanced_tables.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/backup_manager.cpython-311.pyc b/backend/utils/__pycache__/backup_manager.cpython-311.pyc new file mode 100644 index 00000000..b2a1d5c0 Binary files /dev/null and b/backend/utils/__pycache__/backup_manager.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/database_cleanup.cpython-311.pyc b/backend/utils/__pycache__/database_cleanup.cpython-311.pyc new file mode 100644 index 00000000..9f4c71ae Binary files /dev/null and b/backend/utils/__pycache__/database_cleanup.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/drag_drop_system.cpython-311.pyc b/backend/utils/__pycache__/drag_drop_system.cpython-311.pyc new file mode 100644 index 00000000..6fa69fc7 Binary files /dev/null and b/backend/utils/__pycache__/drag_drop_system.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/email_notification.cpython-311.pyc b/backend/utils/__pycache__/email_notification.cpython-311.pyc new file mode 100644 index 00000000..ff4245ab Binary files /dev/null and b/backend/utils/__pycache__/email_notification.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/form_validation.cpython-311.pyc b/backend/utils/__pycache__/form_validation.cpython-311.pyc new file mode 100644 index 00000000..87bfbae4 Binary files /dev/null and b/backend/utils/__pycache__/form_validation.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/maintenance_system.cpython-311.pyc b/backend/utils/__pycache__/maintenance_system.cpython-311.pyc new file mode 100644 index 00000000..4f99944a Binary files /dev/null and b/backend/utils/__pycache__/maintenance_system.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/multi_location_system.cpython-311.pyc b/backend/utils/__pycache__/multi_location_system.cpython-311.pyc new file mode 100644 index 00000000..e92d5402 Binary files /dev/null and b/backend/utils/__pycache__/multi_location_system.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/permissions.cpython-311.pyc b/backend/utils/__pycache__/permissions.cpython-311.pyc index ab427d61..28019da4 100644 Binary files a/backend/utils/__pycache__/permissions.cpython-311.pyc and b/backend/utils/__pycache__/permissions.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/queue_manager.cpython-311.pyc b/backend/utils/__pycache__/queue_manager.cpython-311.pyc index 29527077..22dfe3fa 100644 Binary files a/backend/utils/__pycache__/queue_manager.cpython-311.pyc and b/backend/utils/__pycache__/queue_manager.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/rate_limiter.cpython-311.pyc b/backend/utils/__pycache__/rate_limiter.cpython-311.pyc index 89df98e5..820219f2 100644 Binary files a/backend/utils/__pycache__/rate_limiter.cpython-311.pyc and b/backend/utils/__pycache__/rate_limiter.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/realtime_dashboard.cpython-311.pyc b/backend/utils/__pycache__/realtime_dashboard.cpython-311.pyc new file mode 100644 index 00000000..d5a80b87 Binary files /dev/null and b/backend/utils/__pycache__/realtime_dashboard.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/report_generator.cpython-311.pyc b/backend/utils/__pycache__/report_generator.cpython-311.pyc new file mode 100644 index 00000000..2fde303f Binary files /dev/null and b/backend/utils/__pycache__/report_generator.cpython-311.pyc differ diff --git a/backend/utils/__pycache__/security.cpython-311.pyc b/backend/utils/__pycache__/security.cpython-311.pyc index 98d4f0fb..c4a5261b 100644 Binary files a/backend/utils/__pycache__/security.cpython-311.pyc and b/backend/utils/__pycache__/security.cpython-311.pyc differ