# Serien-Checker Ein Desktop-Programm zum Tracken von TV-Serien-Episoden von fernsehserien.de. ## Features - **Episoden-Tracking**: Verfolgen Sie Staffeln und Episoden Ihrer Lieblingsserien - **Ausstrahlungsdaten**: Anzeige verschiedener Datums-Typen (DE TV, DE Streaming, Sync, Original) - **Zukünftige Episoden**: Automatische Markierung kommender Folgen - **Delta-Updates**: Intelligente Aktualisierung nur neuer/geänderter Daten - **Portable Modus**: Wahlweise portable Installation ohne Registry-Einträge - **Offline-Fähig**: Lokale SQLite-Datenbank - **Automatisches Scraping**: Vollständig funktionsfähiger Web-Scraper für fernsehserien.de - **Threading**: Asynchrone Updates ohne UI-Blockierung ## Installation ### Methode 1: uv (empfohlen) ```bash # Programm starten (installiert Dependencies automatisch) uv run main.py ``` ### Methode 2: Traditionell mit pip ```bash # Dependencies installieren pip install -r requirements.txt # Programm starten python main.py ``` ### Methode 3: Windows EXE erstellen ```bash # PyInstaller installieren pip install pyinstaller # Build ausführen build.bat # oder pyinstaller build.spec # EXE findet sich in: dist/Serien-Checker.exe ``` ## Verwendung ### Serie hinzufügen 1. Öffnen Sie **Einstellungen → Optionen** 2. Im Tab "Serien" die fernsehserien.de URL eingeben 3. Bevorzugten Datumstyp wählen 4. "Serie hinzufügen" klicken ### Serie aktualisieren - Rechtsklick auf Serie → "Aktualisieren" - Oder: Menü → Serien → Aktualisieren ### Staffeln/Episoden anzeigen - Serie in linker Spalte auswählen - Staffel in rechter Spalte auswählen - Episoden erscheinen in der Mitte - Zukünftige Episoden sind grün markiert ## Projektstruktur ``` serien_checker/ ├── main.py # Entry Point ├── serien_checker/ │ ├── database/ # SQLite Datenbank-Layer │ ├── scraper/ # Web-Scraping (browser-tools) │ ├── ui/ # PyQt5 Benutzeroberfläche │ └── utils/ # Hilfsfunktionen ├── icon.ico # Programm-Icon ├── requirements.txt # Python-Dependencies └── build.spec # PyInstaller-Konfiguration ``` ## Technische Details - **Python**: 3.11+ - **GUI**: PyQt5 - **Datenbank**: SQLite (nativ) - **Scraping**: browser-tools Skill (geplant) - **Packaging**: PyInstaller ## Datenspeicherung ### Standard-Modus - Windows: `%USERPROFILE%\.serien_checker\serien_checker.db` - Linux: `~/.serien_checker/serien_checker.db` ### Portable-Modus - Datenbank im Programmverzeichnis: `serien_checker.db` ## Unterstützte Serien-Strukturen 1. Normale Staffeln 2. Normale Staffeln + Specials 3. Normale Staffeln + Extras + Best-Of 4. Nur Extras (keine klassischen Staffeln) 5. Jahresbasierte Sortierung 6. Mehrteilige Episoden (A/B-Parts) ## Entwicklung ### Browser-Tools Integration Der HTML-Parser nutzt das `browser-tools` Skill für robustes DOM-basiertes Scraping. Die Integration ist vorbereitet in `serien_checker/scraper/browser_scraper.py`. ### Logging Logs werden gespeichert: - Standard: `~/.serien_checker/logs/` - Portable: `./logs/` ## Lizenz Dieses Projekt ist für private Nutzung bestimmt. ## Hinweise - **Datenquelle**: fernsehserien.de - Bitte respektieren Sie die Nutzungsbedingungen der Website - Scraping sollte mit angemessenen Delays erfolgen