Release 1.2.0: wxPython migration + vacation exclusion

This commit is contained in:
2026-03-02 17:37:10 +01:00
parent 07c8905f47
commit db76fbf0d2
14 changed files with 190 additions and 939 deletions

View File

@@ -18,7 +18,7 @@ Benutzerfreundliche grafische Oberfläche mit Drag & Drop Support.
- 📊 Live-Log und Fortschrittsanzeige
- 💾 Merkt sich letzte Verzeichnisse
**Voraussetzung:** Tkinter muss installiert sein (siehe [GUI_README.md](GUI_README.md))
**Voraussetzung:** wxPython muss installiert sein (wird automatisch versucht; siehe [WXPYTHON_README.md](WXPYTHON_README.md))
### 2. **CLI-Version** (Kommandozeile)
Textbasiertes Menü für die Kommandozeile.
@@ -57,7 +57,7 @@ Beim ersten Start wird automatisch eine virtuelle Umgebung (`.venv`) erstellt un
```bat
py -3 -m venv .venv --upgrade-deps
.\.venv\Scripts\python.exe gui.py
.\.venv\Scripts\python.exe gui_wxpython.py
```
### Schnellstart (Empfohlen)
@@ -66,40 +66,33 @@ py -3 -m venv .venv --upgrade-deps
```bash
./start_gui.sh
```
Siehe [GUI_README.md](GUI_README.md) für Tkinter-Installation.
Siehe [WXPYTHON_README.md](WXPYTHON_README.md) für wxPython-Hinweise.
**Für CLI-Version:**
```bash
./start.sh
```GUI-Version (Empfohlen)
```
### GUI-Version (Empfohlen)
1. Starten Sie die GUI:
```bash
./start_gui.sh
```
```bash
./start_gui.sh
```
2. Fügen Sie PDF-Dateien hinzu (Button oder Drag & Drop).
3. Optional: Aktivieren Sie Filter wie „Ruhetage ausschließen“ und „Urlaub ausschließen (060, 0060)“.
4. Klicken Sie auf „📄 ICS Datei erstellen“.
2. Fügen Sie PDF-Dateien hinzu:
- Klicken Sie auf " PDF hinzufügen", oder
- Ziehen Sie PDF-Dateien in die Liste (Drag & Drop)
Die GUI merkt sich Ihre letzten Verzeichnisse und Exportoptionen.
**Interaktives Menü:**
### CLI-Version
Starten Sie das interaktive Menü:
```bash
./start.sh
```
Dann wählen Sie im Menü die gewünschte Option.
### Erweiterte Nutzung (Python-Modul)abe-Verzeichnis (optional)
4. Klicken Sie auf "📄 ICS Datei erstellen"
Die GUI merkt sich Ihre letzten Verzeichnisse für schnelleren Zugriff!
### CLI-Version
**Schnellstart:**
Beide Skripte erstellen automatisch eine Python Virtual Environment und installieren alle benötigten Abhängigkeiten.
### Manuelle Installation
@@ -141,6 +134,9 @@ python3 pdf_to_ics.py --input ./pdfs --output ./ics_dateien
# Ruhetage ausschließen
python3 pdf_to_ics.py --exclude-rest
# Urlaub (060) ausschließen
python3 pdf_to_ics.py --exclude-vacation
# Einzelne PDF-Datei konvertieren
python3 pdf_to_ics.py /pfad/zur/datei.pdf
@@ -158,6 +154,7 @@ python3 pdf_to_ics.py --help
| `--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) |
| `--exclude-vacation` | `-u` | Urlaub ausschließen (060, 0060) |
| `--verbose` | `-v` | Detaillierte Ausgabe anzeigen |
| `--help` | `-h` | Hilfe anzeigen |
@@ -233,18 +230,18 @@ Die ICS-Datei enthält ein Event für jeden Arbeitstag mit:
```
ICS-Import/
├── pdf_to_ics.py # Core-Konvertierungslogik
├── gui.py # GUI-Version (Tkinter)
├── gui_wxpython.py # GUI-Version (wxPython)
├── menu.py # CLI-Menü
├── start_gui.sh/cmd # GUI-Startskripte
├── start.sh/cmd # CLI-Startskripte
├── README.md # Diese Datei
└── GUI_README.md # GUI-spezifische Dokumentation
└── WXPYTHON_README.md # GUI-spezifische Dokumentation
```
### Technische Spezifikationen
- **Abhängigkeiten**: pdfplumber, icalendar, pytz, pypdf2, packaging
- **Optional für GUI**: tkinter (Python-Standard), tkinterdnd2 (Drag & Drop)
- **Optional für GUI**: wxPython (native Oberfläche)
- **Python-Version**: 3.6+
- **Format**: iCalendar 2.0 (RFC 5545)
- **Konfiguration**: `~/.pdf_to_ics_config.json` (GUI-Einstellungen)
@@ -257,6 +254,6 @@ Dieses Tool ist zur privaten Verwendung gedacht.
## 📚 Weitere Dokumentation
- **[GUI_README.md](GUI_README.md)** - Ausführliche GUI-Dokumentation und Tkinter-Installation
- **[WXPYTHON_README.md](WXPYTHON_README.md)** - Ausführliche GUI-Dokumentation und wxPython-Hinweise
- **[QUICKSTART.md](QUICKSTART.md)** - Schnellanleitung für den Import in verschiedene Kalender
- **[ZUSAMMENFASSUNG.md](ZUSAMMENFASSUNG.md)** - Projekt-Übersicht und technische Details