feat: CLI-Argumente und verbesserte Kommandozeilenverarbeitung

- Add argparse für flexible CLI-Optionen
- Add --input/-i für Eingabe-Verzeichnis
- Add --output/-o für Ausgabe-Verzeichnis
- Add --exclude-rest/-e für Ruhetage ausschließen
- Add --verbose/-v für detaillierte Ausgabe
- Unterstütze einzelne Datei als Argument
- Bessere Fehlerbehandlung und Zusammenfassung
- Update README.md mit CLI-Dokumentation und Beispielen
- Add Optionen-Tabelle für schnelle Referenz
This commit is contained in:
2026-02-23 20:01:10 +01:00
parent fde69adcec
commit d1d1788a3c
2 changed files with 145 additions and 18 deletions

View File

@@ -98,16 +98,51 @@ pip install pdfplumber icalendar pypdf2 pytz
## Verwendung
### Schnellstart
### Schnellstart (CLI)
1. Kopieren Sie Ihre Dienstplan-PDF-Dateien in dieses Verzeichnis
1. Kopieren Sie Ihre Dienstplan-PDF-Dateien in ein Verzeichnis
2. Führen Sie das Skript aus:
```bash
python3 pdf_to_ics.py
```
Das Tool findet automatisch alle `.pdf` Dateien und erstellt entsprechende `.ics` Dateien.
Das Tool findet automatisch alle `.pdf` Dateien im aktuellen Verzeichnis und erstellt entsprechende `.ics` Dateien.
### Kommandozeilen-Optionen
```bash
# Alle PDFs im aktuellen Verzeichnis konvertieren
python3 pdf_to_ics.py
# PDFs aus einem bestimmten Verzeichnis konvertieren
python3 pdf_to_ics.py --input ./pdfs
# PDFs in anderes Verzeichnis speichern
python3 pdf_to_ics.py --input ./pdfs --output ./ics_dateien
# Ruhetage ausschließen
python3 pdf_to_ics.py --exclude-rest
# Einzelne PDF-Datei konvertieren
python3 pdf_to_ics.py /pfad/zur/datei.pdf
# Mit detaillierter Ausgabe
python3 pdf_to_ics.py --input ./pdfs -v
# Hilfe anzeigen
python3 pdf_to_ics.py --help
```
**Verfügbare Optionen:**
| Option | Kurzform | Beschreibung |
|--------|----------|-------------|
| `--input DIR` | `-i` | Eingabe-Verzeichnis mit PDF-Dateien (Standard: aktuelles Verzeichnis) |
| `--output DIR` | `-o` | Ausgabe-Verzeichnis für ICS-Dateien (Standard: Eingabe-Verzeichnis) |
| `--exclude-rest` | `-e` | Ruhetage ausschließen (Ruhe, R56, R36, vRWF48, RWE, vR48) |
| `--verbose` | `-v` | Detaillierte Ausgabe anzeigen |
| `--help` | `-h` | Hilfe anzeigen |
### Erweiterte Nutzung