FIX: I min iver etter å forenkle koden forsvant koden for å sette fallback. NEW:...
authorEinar Jørgen Haraldseid <einar@haraldseid.net>
Mon, 23 Jul 2012 08:21:05 +0000 (10:21 +0200)
committerEinar Jørgen Haraldseid <einar@haraldseid.net>
Mon, 23 Jul 2012 08:21:05 +0000 (10:21 +0200)
yr-temp.sh

index 144cd0d5ce605fc4f866d6a07d06001b025e38de..e94c4dbb4f11c524cf25632e818079838c0f6468 100755 (executable)
@@ -23,8 +23,12 @@ SELF="$0"
 # Linje å starte søk i
 STARTGREP=$(( $(grep STARTGREPHERE ${SELF} -hn | cut -d ":" -f 1 | tail -n 1) + 1))
 
-# Stedsnavn er alle paramterne vi får med
-STEDSNAVN="$@"
+# Stedsnavn er alle paramterne vi får med, eller fallback
+if [ $# -lt 1 ]; then
+       STEDSNAVN="${FALLBACK}"
+else
+       STEDSNAVN="$@"
+fi
 
 # Hent URL fra liste over stedsnavn (som har tre tab-separerte kolonner: prioritet, stedsnavn, url)
 URL="$(tail -n +${STARTGREP} ${SELF} | grep -i ${STEDSNAVN} | head -n 1 | cut -f 3)"
@@ -35,17 +39,20 @@ if [ -z "${URL}" ]; then
 fi
 
 # Siden vi gjør flere søk i XML-filen på rad er vi snille og henter data kun en gang
-FILE="/tmp/weather-${STEDSNAVN}.xml"
+FILE="/tmp/weather-${STEDSNAVN_MATCHED}.xml"
 wget -q -O ${FILE} ${URL}
 
 # Hent ut data ved hjelp av XPath
 TEMP=$(cat ${FILE} | xmlstarlet sel -t -v "//weatherstation[1]//@value")
 STASJON=$(cat ${FILE} | xmlstarlet sel -t -v "//weatherstation[1]//@name")
 TIME_ZULU=$(cat ${FILE} | xmlstarlet sel -t -v "//weatherstation[1]//@time" | tr T ' ')
+
+# Og litt ekstra datatygging
 TIME=$(date +%H.%M -d "${TIME_ZULU}")
+URL_PRETTY=${URL%varsel.xml}
 
 # Spytt ut en fin linje
-echo "Temperatur for ${STEDSNAVN_MATCHED} er ca. ${TEMP}°C (Observasjon fra ${STASJON} målestasjon kl. ${TIME}) - Værvarsel fra yr.no, levert av NRK og Meteorologisk institutt (${URL})"
+echo "Temperatur for ${STEDSNAVN_MATCHED} er ca. ${TEMP}°C (Observasjon fra ${STASJON} målestasjon kl. ${TIME}) - Værvarsel fra yr.no, levert av NRK og Meteorologisk institutt (${URL_PRETTY})"
 
 # Avslutt eksekvering, så vi slipper feilmeldinger på linjene som følger
 exit 0