#!/bin/sh

set -eu

MAKERS='https://makers.ratp.fr/api/schedules'

PDC="porte%20de%20la%20chapelle"
GDE="gare%20de%20l%27est"
GDN="gare%20du%20nord"
MUSEE_AIR_ESPACE="mus%C3%A9e%20de%20l%27air%20et%20de%20l%27espace"
LENINE="lénine"

STOPS_350="$PDC $GDE $MUSEE_AIR_ESPACE $LENINE"

sqlite3 'random.db' 'create table if not exists schedules(date, stop, direction, wait, destination)'

record() {
  local stop="${1}"
  local direction="${2}"
  local input_file="${3}"
  date="$(jq -r '."_metadata"."date"' < "${input_file}")"
  wait0="$(jq -r '."result"."schedules"[0]."message"' < "${input_file}")"
  wait1="$(jq -r '."result"."schedules"[1]."message"' < "${input_file}")"
  destination0="$(jq -r '."result"."schedules"[0]."destination"' < "${input_file}")"
  destination1="$(jq -r '."result"."schedules"[1]."destination"' < "${input_file}")"

  sqlite3 \
    'random.db' \
    "insert into schedules values(\"$date\", \"$stop\", \"$direction\", \"$wait0\", \"$destination0\");" \
    "insert into schedules values(\"$date\", \"$stop\", \"$direction\", \"$wait1\", \"$destination1\");"
}

while true; do
  for st in ${STOPS_350}; do
    wget -nv "${MAKERS}/bus/350/${st}/A" && record "${st}" 'A' A || true
    sleep 3
    echo $st | grep -q 'est' || ( wget -nv "${MAKERS}/bus/350/${st}/R" && record "${st}" 'R' R || true )
    rm -f 'A' 'R'
    sleep 3
  done
  sleep 10
done
