Hintergrund: https://itooktheredpill.irgendwo.org/2010/onlinetickets-der-bahn/
Das Skript muss nicht gesondert installiert werden.
Die Pakete python-asn1
und python-pycryptodome
(alternativ python-pycrypto
) werden benötigt.
parsepdfs.sh
benötigt zusätzlich poppler-utils
and imagemagick
um die
Bilder aus den PDFs zu extrahieren, sowie eine funktionierende
Java-Installation um den Barcode mithilfe von zxing zu dekodieren.
Das Skript verarbeitet die im Barcode kodierten Daten, diese müssen also zunächst aus dem Ticket extrahiert werden. Wenn man das PDF des Tickets hat geht dies sehr leicht mit:
sh parsepdfs.sh
Nun sollte man für jedes PDF eine .txt
Datei mit den Daten des Barcodes
erhalten haben, die man nun an das Skript füttern kann:
python onlineticket.py *.txt
- dekodierbar mit der Version von rumpeltux/onlineticket
- mit
OTI01
beginnen einige Fahrkarten, die zwischen 2015-12 und 2017-08 erstellt wurden - dekodierbar, aber Exception wird geworfen: Quer-durchs-Land-Tickets, Schönes-Wochenende-Ticket, ein Ticket nach RCT2
- schlägt in
print(dict_str(...))
fehl - alle enthalten
U_TLAY
Block
- schlägt in
- Schöne-Reise-Ticket (NRW)
- Schöner-Tag-Ticket (NRW)
- VGWS-Tickets (NRW)
Sollte das Skript mit einem Ticket nicht klarkommen, bitte einen Bug öffnen
und mir die Barcode-Daten (.txt
Datei) zukommen lassen.
R. Waitz, "Additive Datenübertragung in Barcodes von internationalen Bahntickets", Wien 2014
Deutsche Bahn, "Interoperabilität von UIC-Barcode VDV-Barcode"