Ein kleines Programm um das Fahrgastrechte-Formular der DB einfacher auszufüllen.
Nach dem Ausfüllen werden die Daten auch in der Datei fields.json
gespeichert.
Wenn diese in defaults.json
umbenannt wird, werden die Daten beim Start des Programms eingelesen und als Stanard-Werte für die Felder genommen (zB nützlich für Kontodaten und Adresse)
Daten aus Buchung können importiert werden.
Dafür muss die Buchungsnummer und der Nachname mit den Kommandozeilenparametern --auftragsnummer
und --nachname
angegeben werden.
python3 fahrgastrechte.py --auftragsnummer ABC123 --nachname Mustermensch
Die Daten zum aktuellen Zug können automatisch aus dem ICE Portal importiert werden.
Dabei ist es sowohl möglich, die planmäßige Abfahrt als auch die tatsächliche und planmäßige Ankunft einzutragen.
Um die Abfahrtsdaten einzutragen, muss ggf der Startbahnhof mit dem Kommandozeilenparameter --from-stop
oder -f
und ggf der Zielbahnhof mit --to-stop
oder -t
angegeben werden.
Statt des vollen Namens des Bahnhofs kann auch die evaNr angegeben werden.
python3 fahrgastrechte.py --from-stop "Berlin Hbf" --to-stop "Leipzig Hbf"
Benötigt werden pdftk
sowie die Python-Module npyscreen
, requests
, fdfgen
und beautifulsoup4
, diese können zB via
pip3 install -r requirements.txt
installiert werden. pdftk
sollte am besten aus den Paketquellen der jewieligen Distro installiert werden.
Danach einfach
python3 fahrgastrechte.py
Alternativ steht auch ein graphischeres Interface zur Verfügung.
Benötigt werden pdftk
sowie die Python-Module requests
, fdfgen
und beautifulsoup4
, diese können zB via
pip3 install -r requirements-tkinter.txt
installiert werden. pdftk
sollte am besten aus den Paketquellen der jewieligen Distro installiert werden.
Danach einfach
python3 fahrgastrechte-tkinter.py
Dort das Formular ausfüllen (nicht benötigte Felder leer lassen) und dann auf der letzten Seite "Generate Form" betätigen.
Danach wird eine Datei fahrgastrechte_[AKTUELLER TIMESTAMP].pdf
erstellt.
Um die Anwendung in einem eigenen Container laufen zu lassen, in dem alle Abhängigkeiten automatisch installiert sind, folgende Kommandos verwenden:
docker build -t fahrgastrechte-app .
docker run -it --rm -v $(pwd):/usr/src/app -w /usr/src/app fahrgastrechte-app
Die Scrollable
-Klasse in fahrgastrechte_tkinter.py basiert auf https://stackoverflow.com/a/47985165.