Skip to content

TheEnbyperor/vdv-pkpass

Repository files navigation

vdv-pkpass

How to run it locally

Don't. Q didn't intend it that way.

Maya disagreed.

Getting ready to run it locally

System dependencies

apt install libldap2-dev libsasl2-dev slapd ldap-utils

Python

Using python3.13:

apt install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt update
apt install python3.13 python3.13-pip python3.13-dev

Using venv

python3.13 -m venv venv
source venv/bin/activate

Python dependencies

pip install -r requirements.txt

Compiling Barkoder

# Dependencies
apt install -y build-essential gcc cmake libgl1 libcurl4-openssl-dev pkg-config
pip install pybind11[global]

# Build folder
mkdir -p barkoder/build
cd barkoder/build

# Build
cmake .. && make

# Copy to site-packages
cd ../..
cp ./barkoder/build/Barkoder.cpython-313-x86_64-linux-gnu.so ./env_vdv_pkpass/lib/python3.13/site-packages/

Other changes

In ./manage.py:9 set to:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "vdv_pkpass.settings_dev")

Django

mkdir -p ./uic-data
mkdir -p ./vdv-certs
python manage.py migrate
python manage.py download-uic-data
python manage.py download-vdv-certs
python manage.py download-vdv-orgs

Running it locally

python manage.py runserver

Conclusion

With all this... it should work (should as defined in RFC 2119)

Tests

Using Muster-Tickets nach UIC 918.9 as provided by Deutsche Bahn:

  • Muster 918-9 FV_SuperSparpreis.pdf
  • Muster 918-9 FV_SuperSparpreis_2Erw.pdf
  • Muster 918-9 FV_SuperSparpreis_3Erw_InklRückfahrt.pdf
  • Muster 918-9 FV_SuperSparpreisSenior_InklRückfahrt.pdf
  • Muster 918-9 FV_SuperSparpreisYoung.pdf
  • Muster 918-9 Länderticket Bayern Nacht.pdf
  • Muster 918-9 Länderticket Rheinland-Pfalz.pdf
  • Muster 918-9 Länderticket Saarland.pdf
  • Muster 918-9 Länderticket Sachsen-Anhalt.pdf
  • Muster 918-9 Länderticket Thüringen.pdf
  • Muster 918-9 Normalpreis.pdf
  • Muster 918-9 Quer-durchs-Land Ticket.pdf
  • Muster 918-9 Schleswig-Holstein Ticket.pdf
  • Muster 918-9 BahnCard 25.png
  • Muster 918-9 CityTicket.pdf
  • Muster 918-9 CityTicket_International.pdf
  • Muster 918-9 Deutschland-Jobticket.png
  • Muster 918-9 Deutschland-Ticket.png