aboutsummaryrefslogtreecommitdiff

trein?

english readme

domme python scripts voor openbaar vervoer in nederland in je agenda

storingen.py is een script die je met fcgiwrap en nginx kunt draaien op een server om een ical bestand te genereren die je laat weten wanneer de ns weer eens niet rijdt

autoplanner.py neemt een icalendar bestand in (met bijvoorbeeld een rooster), en vraagt voor elke dag een reisadvies op om bij de vroegste afspraak op tijd te zijn

setup

storingen

de storingen API heeft helaas een API key nodig, maar gelukkig wordt deze lekker veilig opgeslagen in een plain-text bestand storingen.key.

trajectnamen staan op losse regels in storingen.cfg, een voorbeeld hiervan staat in deze repository.

autoplanner

deze gebruikt de openbare reisplanner om reisadvies op te vragen. omdat deze methode van de NS api gebruiken niet officieel ondersteund is kan deze mogelijk ooit stoppen met werken.

dit script verwacht een bestand autoplanner.json, die gebaseerd is op autoplanner.def.json, en leest een icalendar agenda vanaf stdin.

voorbeeldaanroep (aanpassen in autoplanner.fcgi voor server gebruik):

./autoplanner.py < rooster.ics
# of
curl https://rooster.site/rooster.ics | ./autoplanner.py

nginx

hier is een voorbeeld nginx configuratie (snippet die in een server block kan):

location /ical/trein.ics {
  gzip off;
  autoindex on;
  fastcgi_pass unix:/var/run/fcgiwrap.socket;
  include /etc/nginx/fastcgi_params;
  fastcgi_param SCRIPT_FILENAME /var/trein/storingen.fcgi;
}