Files
Serien-Checker/README.md
2025-12-21 14:35:08 +01:00

133 lines
3.3 KiB
Markdown

# 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