133 lines
3.3 KiB
Markdown
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
|