diff --git a/departure.sh b/departure.sh index bbb637b..8e72a69 100755 --- a/departure.sh +++ b/departure.sh @@ -162,6 +162,7 @@ get_cvag_station_name() done } +SYSTEM_TIME_DELTA=0 STATION_SCHEDULE=() get_cvag_station_info() { @@ -170,8 +171,7 @@ get_cvag_station_info() local -n _STATION_DESTINATIONS=$4 local -n _STATION_LINES=$5 local -n _STATION_ACTUAL_DEPARTURE=$6 - local -n _REALSTATION_NOW=$7 - local -n _THISDATE=$8 + local -n _THISDATE=$7 _ERROR=0 THIS_STATION_SCHEDULE="$(curl --connect-timeout 5 -s "http://www.cvag.de/eza/mis/stops/station/CAG-${STATION_ID[$1]}")" @@ -187,6 +187,7 @@ get_cvag_station_info() REALSTATION_NOWMS=$(( "$_STATION_NOW" % 1000 )) [ ${#REALSTATION_NOWMS} -lt 3 ] && REALSTATION_NOWMS="0$REALSTATION_NOWMS" _REALSTATION_NOW=$(( "$_STATION_NOW" / 1000)) + [ $_ERROR -eq 0 ] && SYSTEM_TIME_DELTA=$(($_REALSTATION_NOW-$(date +%s))) || _STATION_NOW=$((($(date +%s)+$SYSTEM_TIME_DELTA)*1000)) _THISDATE=$(date --date="@$_REALSTATION_NOW" +"%d.%m.%Y %T")",$REALSTATION_NOWMS" return $_ERROR @@ -220,7 +221,7 @@ while true; do if [ ! "$j" -eq "$LOGO_LINES_POSITION" ]; then [ "$j" -gt "$LOGO_LINES_POSITION" ] && THIS_STATION_ID=$(($j-1)) || THIS_STATION_ID=$j - get_cvag_station_info $THIS_STATION_ID STATION_STOPS STATION_NOW STATION_DESTINATIONS STATION_LINES STATION_ACTUAL_DEPARTURE REALSTATION_NOW THISDATE + get_cvag_station_info $THIS_STATION_ID STATION_STOPS STATION_NOW STATION_DESTINATIONS STATION_LINES STATION_ACTUAL_DEPARTURE THISDATE STATION_INFO_ERR=$? if [ ! $STATION_INFO_ERR -eq 2 ]; then # FIXME: add warning, when STATION_INFO_ERR == 1 MYOUTPUT[$j]="${MYOUTPUT[$j]}\n\n\ @@ -238,7 +239,7 @@ while true; do fi fi done - draw_logo_time LOGO_AND_TIME $REALSTATION_NOW + draw_logo_time LOGO_AND_TIME $(($(date +%s)+$SYSTEM_TIME_DELTA)) MYOUTPUT[$LOGO_LINES_POSITION]="$LOGO_AND_TIME" LOGO_LINES_POSITION=$(((LOGO_LINES_POSITION + 1) % (${#STATION_ID[*]} + 1)))