From a5919a902cf4dfe586ef9de246459914fd277249 Mon Sep 17 00:00:00 2001 From: "txt.file" Date: Sat, 6 Apr 2019 03:59:05 +0000 Subject: [PATCH] add script --- departure.sh | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 departure.sh diff --git a/departure.sh b/departure.sh new file mode 100644 index 0000000..1ef9396 --- /dev/null +++ b/departure.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +if ! ping -q -c1 chch.it>/dev/null; +then + echo "no connection to the internet" + exit 1 +fi + +STATIONS[0]="18" +STATIONS[1]="202" +STANAME=() + +NUMOFSTA=${#STATIONS[*]} + +FOO=$(curl --connect-timeout 5 -s "http://www.cvag.de/eza/mis/stations?minLat=0&maxLat=100&minLon=0&maxLon=100") +for ((i=0; i<${#STATIONS[*]}; i++)) +do + case ${STATIONS[$i]} in + ''|*[!0-9]*) + STANAME[$i]=$(echo -n "$FOO" | jq -r '.stations | .[] | select(.displayName | contains("'"${STATIONS[$i]}"'")) | .number') + ;; + + *) + STANAME[$i]=$(echo -n "$FOO" | jq -r '.stations | .[] | select(.number | contains('"${STATIONS[$i]}"')) | .displayName') + ;; + esac +done + +MYOUTPUT="" +for ((j=0; j<"$NUMOFSTA"; j++)) +do + FOO=$(curl --connect-timeout 5 -s http://cvag.de/eza/mis/stops/station/CAG-${STATIONS[$j]}) + BAR=$FOO + + FOO=$(echo "$FOO" | jq -r ".stops | .[]") + BAR=$(echo "$BAR" | jq -r ".now") + + # ohne dieses IFS trennt BASH an Space und erstellt damit zu viele Array-Felder +IFS=' +' + DESTINATIONS=($(echo -n "$FOO" | jq -r '.destination')); + LINES=($(echo -n "$FOO" | jq -r '.line')) + ACDEPS=($(echo -n "$FOO" | jq -r '.actualDeparture')) + LINECOUNT=${#LINES[*]} + + MYOUTPUT="$MYOUTPUT"'\t+--------------------+\n\t| '"${STANAME[$j]}"'|\n\t+--------------------+-----+-------------------------------+\n' + for ((i=0; i<"$LINECOUNT"; i++)) + do + MILLIS=$(expr "${ACDEPS[$i]}" - "$BAR") + SEKS=$(expr "$MILLIS" / 1000) + MILLIS=$(expr "$MILLIS" % 1000) + MINS=$(expr "$SEKS" / 60) + SEKS=$(expr "$SEKS" % 60) + MINSSPACE="" + SEKSSPACE="" + MILLISSPACE="" + if [ "$MINS" -lt 100 ] + then + MINSSPACE=" " + fi + if [ "$MINS" -lt 10 ] + then + MINSSPACE=" " + fi + if [ "$SEKS" -lt 10 ] + then + SEKSSPACE=" " + fi + if [ "$MILLIS" -lt 100 ] + then + MILLISSPACE=" " + fi + if [ "$MILLIS" -lt 10 ] + then + MILLISSPACE=" " + fi + MYOUTPUT="$MYOUTPUT""\t|${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS} s ${MILLISSPACE}${MILLIS} ms | ${LINES[$i]} | ${DESTINATIONS[$i]} |\n" + done + MYOUTPUT="$MYOUTPUT"'\t+--------------------+-----+-------------------------------+\n' + MYOUTPUT="$MYOUTPUT"' \n' + MYOUTPUT="$MYOUTPUT"' \n' +done +echo -e "$MYOUTPUT" \ No newline at end of file