From c2f29aabd31d42c24328230276891cabe7ab8cc9 Mon Sep 17 00:00:00 2001 From: Florian Schlegel Date: Sun, 23 Aug 2020 01:28:08 +0200 Subject: [PATCH] deduplicate code --- departure.sh | 279 ++++++++++++++++++--------------------------------- 1 file changed, 97 insertions(+), 182 deletions(-) diff --git a/departure.sh b/departure.sh index b057d79..dfedbae 100755 --- a/departure.sh +++ b/departure.sh @@ -37,6 +37,101 @@ CHCHLOGO_S[3]="\\t\\t█ ██▄██▀█ █ █▄██▀█ █ █ CHCHLOGO_S[4]="\\t\\t█ █▄▄▄▄█▄█▄█▄▄▄▄█▄█▄██ █ " CHCHLOGO_S[5]="\\t\\t█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ " +append_five_line_symbol() +{ + local -n LINES=$1 + case $2 in + "0") + LINES[0]+=" █████" + LINES[1]+=" █ █" + LINES[2]+=" █ █" + LINES[3]+=" █ █" + LINES[4]+=" █ █" + LINES[5]+=" █████" + ;; + "1") + LINES[0]+=" █" + LINES[1]+=" █" + LINES[2]+=" █" + LINES[3]+=" █" + LINES[4]+=" █" + LINES[5]+=" █" + ;; + "2") + LINES[0]+=" █████" + LINES[1]+=" █" + LINES[2]+=" ▄▄▄▄█" + LINES[3]+=" █▀▀▀▀" + LINES[4]+=" █ " + LINES[5]+=" █████" + ;; + "3") + LINES[0]+=" █████" + LINES[1]+=" █" + LINES[2]+=" ▄▄▄▄█" + LINES[3]+=" ▀▀▀▀█" + LINES[4]+=" █" + LINES[5]+=" █████" + ;; + "4") + LINES[0]+=" █ █" + LINES[1]+=" █ █" + LINES[2]+=" █▄▄▄█" + LINES[3]+=" ▀▀▀▀█" + LINES[4]+=" █" + LINES[5]+=" █" + ;; + "5") + LINES[0]+=" █████" + LINES[1]+=" █ " + LINES[2]+=" █▄▄▄▄" + LINES[3]+=" ▀▀▀▀█" + LINES[4]+=" █" + LINES[5]+=" █████" + ;; + "6") + LINES[0]+=" █████" + LINES[1]+=" █ " + LINES[2]+=" █▄▄▄▄" + LINES[3]+=" █▀▀▀█" + LINES[4]+=" █ █" + LINES[5]+=" █████" + ;; + "7") + LINES[0]+=" █████" + LINES[1]+=" █" + LINES[2]+=" █" + LINES[3]+=" █" + LINES[4]+=" █" + LINES[5]+=" █" + ;; + "8") + LINES[0]+=" █████" + LINES[1]+=" █ █" + LINES[2]+=" █▄▄▄█" + LINES[3]+=" █▀▀▀█" + LINES[4]+=" █ █" + LINES[5]+=" █████" + ;; + "9") + LINES[0]+=" █████" + LINES[1]+=" █ █" + LINES[2]+=" █▄▄▄█" + LINES[3]+=" ▀▀▀▀█" + LINES[4]+=" █" + LINES[5]+=" █████" + ;; + ":") + LINES[0]+=" " + LINES[1]+=" ███ " + LINES[2]+=" ▀▀▀ " + LINES[3]+=" ▄▄▄ " + LINES[4]+=" ███ " + LINES[5]+=" " + ;; + *) + esac +} while true; do if ! ping -q -c1 chch.it>/dev/null; then @@ -97,97 +192,7 @@ while true; do if [ "$j" -eq "$CHCHPOSITION" ]; then UHRZEIT=$(date --date="@$REALBAR" +"%H:%M")",$REALBARMS" for((k=1; k<6; k++)); do - case $(echo "$UHRZEIT" | cut -b"$k") in - "0") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █ █" - LOGO_TIME[3]+=" █ █" - LOGO_TIME[4]+=" █ █" - LOGO_TIME[5]+=" █████" - ;; - "1") - LOGO_TIME[0]+=" █" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" █" - LOGO_TIME[3]+=" █" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █" - ;; - "2") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" ▄▄▄▄█" - LOGO_TIME[3]+=" █▀▀▀▀" - LOGO_TIME[4]+=" █ " - LOGO_TIME[5]+=" █████" - ;; - "3") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" ▄▄▄▄█" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █████" - ;; - "4") - LOGO_TIME[0]+=" █ █" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █▄▄▄█" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █" - ;; - "5") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ " - LOGO_TIME[2]+=" █▄▄▄▄" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █████" - ;; - "6") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ " - LOGO_TIME[2]+=" █▄▄▄▄" - LOGO_TIME[3]+=" █▀▀▀█" - LOGO_TIME[4]+=" █ █" - LOGO_TIME[5]+=" █████" - ;; - "7") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" █" - LOGO_TIME[3]+=" █" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █" - ;; - "8") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █▄▄▄█" - LOGO_TIME[3]+=" █▀▀▀█" - LOGO_TIME[4]+=" █ █" - LOGO_TIME[5]+=" █████" - ;; - "9") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █▄▄▄█" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █████" - ;; - ":") - LOGO_TIME[0]+=" " - LOGO_TIME[1]+=" ███ " - LOGO_TIME[2]+=" ▀▀▀ " - LOGO_TIME[3]+=" ▄▄▄ " - LOGO_TIME[4]+=" ███ " - LOGO_TIME[5]+=" " - ;; - *) - esac + append_five_line_symbol LOGO_TIME $(echo "$UHRZEIT" | cut -b"$k") done CHCHLOGO="\\n\\n""${LOGO_TIME[0]}""\\n""${LOGO_TIME[1]}""\\n""${LOGO_TIME[2]}""\\n""${LOGO_TIME[3]}""\\n""${LOGO_TIME[4]}""\\n""${LOGO_TIME[5]}" MYOUTPUT="$MYOUTPUT""$CHCHLOGO" @@ -244,97 +249,7 @@ while true; do if [ "$CHCHPOSITION" -eq "$NUMOFSTA" ]; then UHRZEIT=$(date --date="@$REALBAR" +"%H:%M")",$REALBARMS" for((k=1; k<6; k++)); do - case $(echo "$UHRZEIT" | cut -b"$k") in - "0") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █ █" - LOGO_TIME[3]+=" █ █" - LOGO_TIME[4]+=" █ █" - LOGO_TIME[5]+=" █████" - ;; - "1") - LOGO_TIME[0]+=" █" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" █" - LOGO_TIME[3]+=" █" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █" - ;; - "2") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" ▄▄▄▄█" - LOGO_TIME[3]+=" █▀▀▀▀" - LOGO_TIME[4]+=" █ " - LOGO_TIME[5]+=" █████" - ;; - "3") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" ▄▄▄▄█" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █████" - ;; - "4") - LOGO_TIME[0]+=" █ █" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █▄▄▄█" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █" - ;; - "5") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ " - LOGO_TIME[2]+=" █▄▄▄▄" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █████" - ;; - "6") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ " - LOGO_TIME[2]+=" █▄▄▄▄" - LOGO_TIME[3]+=" █▀▀▀█" - LOGO_TIME[4]+=" █ █" - LOGO_TIME[5]+=" █████" - ;; - "7") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █" - LOGO_TIME[2]+=" █" - LOGO_TIME[3]+=" █" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █" - ;; - "8") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █▄▄▄█" - LOGO_TIME[3]+=" █▀▀▀█" - LOGO_TIME[4]+=" █ █" - LOGO_TIME[5]+=" █████" - ;; - "9") - LOGO_TIME[0]+=" █████" - LOGO_TIME[1]+=" █ █" - LOGO_TIME[2]+=" █▄▄▄█" - LOGO_TIME[3]+=" ▀▀▀▀█" - LOGO_TIME[4]+=" █" - LOGO_TIME[5]+=" █████" - ;; - ":") - LOGO_TIME[0]+=" " - LOGO_TIME[1]+=" ███ " - LOGO_TIME[2]+=" ▀▀▀ " - LOGO_TIME[3]+=" ▄▄▄ " - LOGO_TIME[4]+=" ███ " - LOGO_TIME[5]+=" " - ;; - *) - esac + append_five_line_symbol LOGO_TIME $(echo "$UHRZEIT" | cut -b"$k") done CHCHLOGO="\\n\\n""${LOGO_TIME[0]}""\\n""${LOGO_TIME[1]}""\\n""${LOGO_TIME[2]}""\\n""${LOGO_TIME[3]}""\\n""${LOGO_TIME[4]}""\\n""${LOGO_TIME[5]}" MYOUTPUT="$MYOUTPUT""$CHCHLOGO"