Skip to content

Latest commit

 

History

History
57 lines (34 loc) · 1.91 KB

README.md

File metadata and controls

57 lines (34 loc) · 1.91 KB

Parser für Onlinetickets der Deutschen Bahn

Hintergrund: https://itooktheredpill.irgendwo.org/2010/onlinetickets-der-bahn/

Installation & Abhängigkeiten

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.

Benutzung

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

Arten von online Fahrkarten

Fahrkarten, beginnend mit #UT01 oder OTI01

  • 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

Fahrkarten, nicht beginnend mit #UT01

  • Schöne-Reise-Ticket (NRW)
  • Schöner-Tag-Ticket (NRW)
  • VGWS-Tickets (NRW)

Bugs

Sollte das Skript mit einem Ticket nicht klarkommen, bitte einen Bug öffnen und mir die Barcode-Daten (.txt Datei) zukommen lassen.

Literatur

R. Waitz, "Additive Datenübertragung in Barcodes von internationalen Bahntickets", Wien 2014

Deutsche Bahn, "Interoperabilität von UIC-Barcode VDV-Barcode"

justusjonas74/uic-918-3