#!/bin/bash
# Skrypt weather wyświetlający informacje o pogodzie na podstawie
# nazwy regionu lub kodu pocztowego.

if [ $# -ne 1 ]; then
  echo "Użycie: $0 <kod_pocztowy>"
  exit 1
fi

apikey="63161c7bf853645b" # To nie jest poprawny klucz API – musisz uzyskać własny.
weather=`curl -s \
    "https://api.wunderground.com/api/$apikey/conditions/q/$1.xml"`
state=`xmllint --xpath \
     //response/current_observation/display_location/full/text\(\) \
     <(echo $weather)`
zip=`xmllint --xpath \
     //response/current_observation/display_location/zip/text\(\) \
     <(echo $weather)`
current=`xmllint --xpath \
     //response/current_observation/temp_c/text\(\) \
     <(echo $weather)`
condition=`xmllint --xpath \
     //response/current_observation/weather/text\(\) \
     <(echo $weather)`
declare -A condition_pl=( ["Clear"]="bezchmurnie" \
                          ["Fog"]="gęsta mgła" \
                          ["Haze"]="zamglenie" \
                          ["Heavy Rain"]="intensywny deszcz" \
                          ["Ice Pellets"]="grad" \
                          ["Light Freezing Drizzle"]="marznąca mżawka" \
                          ["Light Freezing Fog"]="marznąca mgła" \
                          ["Light Rain"]="słaby deszcz" \
                          ["Light Snow"]="słaby śnieg" \
                          ["Light Snow Showers"]="deszcz ze śniegiem" \
                          ["Mist"]="mgła" \
                          ["Mostly Cloudy"]="gęste zachmurzenie" \
                          ["Overcast"]="pochmurnie" \
                          ["Partly Cloudy"]="zachmurzenie częściowe" \
                          ["Rain"]="deszcz" \
                          ["Scattered Clouds"]="lekkie zachmurzenie" \
                          ["Shallow Fog"]="lekka mgła" \
                          ["Snow"]="śnieg" )
echo $state" ("$zip"): aktualna temperatura "$current"C, "${condition_pl[$condition]}"."
