fixing weather script to remove api key need
parent
d36f93999b
commit
3027153951
@ -0,0 +1,48 @@
|
|||||||
|
"113": "Sunny",
|
||||||
|
"116": "PartlyCloudy",
|
||||||
|
"119": "Cloudy",
|
||||||
|
"122": "VeryCloudy",
|
||||||
|
"143": "Fog",
|
||||||
|
"176": "LightShowers",
|
||||||
|
"179": "LightSleetShowers",
|
||||||
|
"182": "LightSleet",
|
||||||
|
"185": "LightSleet",
|
||||||
|
"200": "ThunderyShowers",
|
||||||
|
"227": "LightSnow",
|
||||||
|
"230": "HeavySnow",
|
||||||
|
"248": "Fog",
|
||||||
|
"260": "Fog",
|
||||||
|
"263": "LightShowers",
|
||||||
|
"266": "LightRain",
|
||||||
|
"281": "LightSleet",
|
||||||
|
"284": "LightSleet",
|
||||||
|
"293": "LightRain",
|
||||||
|
"296": "LightRain",
|
||||||
|
"299": "HeavyShowers",
|
||||||
|
"302": "HeavyRain",
|
||||||
|
"305": "HeavyShowers",
|
||||||
|
"308": "HeavyRain",
|
||||||
|
"311": "LightSleet",
|
||||||
|
"314": "LightSleet",
|
||||||
|
"317": "LightSleet",
|
||||||
|
"320": "LightSnow",
|
||||||
|
"323": "LightSnowShowers",
|
||||||
|
"326": "LightSnowShowers",
|
||||||
|
"329": "HeavySnow",
|
||||||
|
"332": "HeavySnow",
|
||||||
|
"335": "HeavySnowShowers",
|
||||||
|
"338": "HeavySnow",
|
||||||
|
"350": "LightSleet",
|
||||||
|
"353": "LightShowers",
|
||||||
|
"356": "HeavyShowers",
|
||||||
|
"359": "HeavyRain",
|
||||||
|
"362": "LightSleetShowers",
|
||||||
|
"365": "LightSleetShowers",
|
||||||
|
"368": "LightSnowShowers",
|
||||||
|
"371": "HeavySnowShowers",
|
||||||
|
"374": "LightSleetShowers",
|
||||||
|
"377": "LightSleet",
|
||||||
|
"386": "ThunderyShowers",
|
||||||
|
"389": "ThunderyHeavyRain",
|
||||||
|
"392": "ThunderySnowShowers",
|
||||||
|
"395": "HeavySnowShowers",
|
@ -0,0 +1,40 @@
|
|||||||
|
# day
|
||||||
|
Unkown '\ue374'
|
||||||
|
Cloudy '\ue302'
|
||||||
|
Fog '\ue303'
|
||||||
|
HeavyRain '\ue318'
|
||||||
|
HeavyShowers '\ue318'
|
||||||
|
HeavySnow '\ue31a'
|
||||||
|
HeavySnowShowers '\ue31a'
|
||||||
|
LightRain '\ue308'
|
||||||
|
LightShowers '\ue308'
|
||||||
|
LightSleet '\ue3aa'
|
||||||
|
LightSleetShowers '\ue3aa'
|
||||||
|
LightSnow '\ue30a'
|
||||||
|
LightSnowShowers '\ue30a'
|
||||||
|
PartlyCloudy '\ue37b'
|
||||||
|
Sunny '\ue30d'
|
||||||
|
ThunderyHeavyRain '\ue31d'
|
||||||
|
ThunderyShowers '\ue31d'
|
||||||
|
ThunderySnowShowers '\ue365'
|
||||||
|
VeryCloudy '\ue312'
|
||||||
|
# night
|
||||||
|
Unkown '\ue374'
|
||||||
|
Cloudy '\ue37e'
|
||||||
|
Fog '\ue346'
|
||||||
|
HeavyRain '\ue318'
|
||||||
|
HeavyShowers '\ue318'
|
||||||
|
HeavySnow '\ue31a'
|
||||||
|
HeavySnowShowers '\ue31a'
|
||||||
|
LightRain '\ue325'
|
||||||
|
LightShowers '\ue325'
|
||||||
|
LightSleet '\ue3ac'
|
||||||
|
LightSleetShowers '\ue3ac'
|
||||||
|
LightSnow '\ue361'
|
||||||
|
LightSnowShowers '\ue361'
|
||||||
|
PartlyCloudy '\ue379'
|
||||||
|
Sunny '\ue32b'
|
||||||
|
ThunderyHeavyRain '\ue31d'
|
||||||
|
ThunderyShowers '\ue31d'
|
||||||
|
ThunderySnowShowers '\ue366'
|
||||||
|
VeryCloudy '\ue312'
|
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# source symbol based on $WEATHER_CODE and $TOD
|
||||||
|
# WeatherCodesDay := map[string]rune{
|
||||||
|
# "Unkown": '\ue374',
|
||||||
|
# "Cloudy": '\ue302',
|
||||||
|
# "Fog": '\ue303',
|
||||||
|
# "HeavyRain": '\ue318',
|
||||||
|
# "HeavyShowers": '\ue318',
|
||||||
|
# "HeavySnow": '\ue31a',
|
||||||
|
# "HeavySnowShowers": '\ue31a',
|
||||||
|
# "LightRain": '\ue308',
|
||||||
|
# "LightShowers": '\ue308',
|
||||||
|
# "LightSleet": '\ue3aa',
|
||||||
|
# "LightSleetShowers": '\ue3aa',
|
||||||
|
# "LightSnow": '\ue30a',
|
||||||
|
# "LightSnowShowers": '\ue30a',
|
||||||
|
# "PartlyCloudy": '\ue37b',
|
||||||
|
# "Sunny": '\ue30d',
|
||||||
|
# "ThunderyHeavyRain": '\ue31d',
|
||||||
|
# "ThunderyShowers": '\ue31d',
|
||||||
|
# "ThunderySnowShowers": '\ue365',
|
||||||
|
# "VeryCloudy": '\ue312',
|
||||||
|
# }
|
||||||
|
|
||||||
|
# WeatherCodesNight := map[string]rune{
|
||||||
|
# "Unkown": '\ue374',
|
||||||
|
# "Cloudy": '\ue37e',
|
||||||
|
# "Fog": '\ue346',
|
||||||
|
# "HeavyRain": '\ue318',
|
||||||
|
# "HeavyShowers": '\ue318',
|
||||||
|
# "HeavySnow": '\ue31a',
|
||||||
|
# "HeavySnowShowers": '\ue31a',
|
||||||
|
# "LightRain": '\ue325',
|
||||||
|
# "LightShowers": '\ue325',
|
||||||
|
# "LightSleet": '\ue3ac',
|
||||||
|
# "LightSleetShowers": '\ue3ac',
|
||||||
|
# "LightSnow": '\ue361',
|
||||||
|
# "LightSnowShowers": '\ue361',
|
||||||
|
# "PartlyCloudy": '\ue379',
|
||||||
|
# "Sunny": '\ue32b',
|
||||||
|
# "ThunderyHeavyRain": '\ue31d',
|
||||||
|
# "ThunderyShowers": '\ue31d',
|
||||||
|
# "ThunderySnowShowers": '\ue366',
|
||||||
|
# "VeryCloudy": '\ue312',
|
||||||
|
# }
|
@ -0,0 +1,112 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: wttr [-s] [-d] [-u] [-i] [-f] [-h]
|
||||||
|
|
||||||
|
Queries the weather and outputs it in a Nerd Font compaitable way
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-s, --setloc=<LOC> change location used for wttr.in query
|
||||||
|
clears disploc on set
|
||||||
|
-d, --disploc=<LOC> set a location name to display instead of the
|
||||||
|
location used in wttr.in query
|
||||||
|
-u, --unit={c|f} set the output unit to fahrenheit or celsius
|
||||||
|
-i, --info shows current values of location, unit and
|
||||||
|
disploc if it is set
|
||||||
|
-f, --force force refresh weather data
|
||||||
|
-h, --help Show this help message
|
||||||
|
EOF
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
get_tod() {
|
||||||
|
# sets $TOD
|
||||||
|
hour=$(date +%H)
|
||||||
|
if [[ $hour -gt 21 || $hour -lt 5 ]] ; then # between 9 pm and 5 am
|
||||||
|
TOD="night"
|
||||||
|
else
|
||||||
|
TOD="day"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get_wttr() {
|
||||||
|
# gets weather for $LOCATION and stores it into file with timestamp
|
||||||
|
url="https://wttr.in/$LOCATION?0&format=j2" #json stuff need to fix temp
|
||||||
|
query="{\
|
||||||
|
temp: .current_condition[0].temp_F,\
|
||||||
|
humidity: .current_condition[0].humidity,\
|
||||||
|
conditions: .current_condition[0].weatherCode,\
|
||||||
|
location: .nearest_area[0].areaName[0].value}"
|
||||||
|
|
||||||
|
WTTR=$(curl --silent -fL "$url" | gojq "$query")
|
||||||
|
echo "$WTTR"
|
||||||
|
#TEMP=$(echo "$WTTR" | gojq -r '.temp_F')
|
||||||
|
#HUMIDITY=$(echo "$WTTR" | gojq -r '.humidity')
|
||||||
|
#CONDITIONS=$(echo "$WTTR" | gojq -r '.weatherDesc[0].value')
|
||||||
|
}
|
||||||
|
|
||||||
|
set_location() {
|
||||||
|
# updates location of weather query to $new_loc
|
||||||
|
echo "TODO"
|
||||||
|
}
|
||||||
|
|
||||||
|
display_location() {
|
||||||
|
# updates location to display to $disp_loc
|
||||||
|
echo "TODO"
|
||||||
|
}
|
||||||
|
|
||||||
|
set_units() {
|
||||||
|
# updates units used to $unit
|
||||||
|
echo "TODO"
|
||||||
|
}
|
||||||
|
|
||||||
|
display_info() {
|
||||||
|
# prints current config to stdout
|
||||||
|
echo "TODO"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
update_wttr() {
|
||||||
|
# checks to see if old weather data is out of date
|
||||||
|
echo "TODO"
|
||||||
|
}
|
||||||
|
|
||||||
|
print_wttr() {
|
||||||
|
|
||||||
|
echo "TODO"
|
||||||
|
}
|
||||||
|
|
||||||
|
while [[ "$1" != "" ]]; do
|
||||||
|
case $1 in
|
||||||
|
-h | --help)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
-s | --setloc)
|
||||||
|
shift
|
||||||
|
new_loc="$1"
|
||||||
|
set_location
|
||||||
|
;;
|
||||||
|
-d | --disploc)
|
||||||
|
shift
|
||||||
|
disp_loc="$1"
|
||||||
|
display_location
|
||||||
|
;;
|
||||||
|
-u | --unit)
|
||||||
|
shift
|
||||||
|
unit="$1"
|
||||||
|
set_units
|
||||||
|
;;
|
||||||
|
-i | --info)
|
||||||
|
display_info
|
||||||
|
;;
|
||||||
|
-f | --force)
|
||||||
|
get_wttr
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Error: wttr $@"
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
HOUR=$(timedatectl | grep Local | cut -d ':' -f 2 | cut -d ' ' -f 4 | cut -d ':' -f 1)
|
|
||||||
if [[ ${HOUR} -gt 21 || ${HOUR} -lt 5 ]] ; then # between 9 pm and 5 am
|
|
||||||
TIME_OF_DAY="NIGHT"
|
|
||||||
else
|
|
||||||
TIME_OF_DAY="DAY"
|
|
||||||
fi
|
|
||||||
URL=$(printf 'https://v2%s.wttr.in?0&format=j1&nonce=$RANDOM' $TOD)
|
|
||||||
WTTR=$(curl --silent -fL $URL)
|
|
||||||
TMP=$(echo $WTTR | jq -r '.current_condition[0]')
|
|
||||||
TEMP=$(echo $TMP | jq -r '.temp_F')
|
|
||||||
HUMIDITY=$(echo $TMP | jq -r '.humidity')
|
|
||||||
CONDITIONS=$(echo $TMP | jq -r '.weatherDesc[0].value')
|
|
||||||
echo $TEMP $HUMIDITY $CONDITIONS
|
|
Loading…
Reference in New Issue