Merge pull request #78 from yzenati/location_option
Add an option to disable the location information in the weather
This commit is contained in:
commit
84af549a13
3 changed files with 20 additions and 14 deletions
|
@ -23,6 +23,7 @@ main()
|
|||
show_network=$(get_tmux_option "@dracula-show-network" true)
|
||||
show_weather=$(get_tmux_option "@dracula-show-weather" true)
|
||||
show_fahrenheit=$(get_tmux_option "@dracula-show-fahrenheit" true)
|
||||
show_location=$(get_tmux_option "@dracula-show-location" true)
|
||||
show_powerline=$(get_tmux_option "@dracula-show-powerline" false)
|
||||
show_flags=$(get_tmux_option "@dracula-show-flags" false)
|
||||
show_left_icon=$(get_tmux_option "@dracula-show-left-icon" smiley)
|
||||
|
@ -72,7 +73,7 @@ main()
|
|||
|
||||
# start weather script in background
|
||||
if $show_weather; then
|
||||
$current_dir/sleep_weather.sh $show_fahrenheit &
|
||||
$current_dir/sleep_weather.sh $show_fahrenheit $show_location &
|
||||
fi
|
||||
|
||||
# Set timezone unless hidden by configuration
|
||||
|
|
|
@ -5,6 +5,7 @@ export LC_ALL=en_US.UTF-8
|
|||
#wrapper script for running weather on interval
|
||||
|
||||
fahrenheit=$1
|
||||
location=$2
|
||||
|
||||
LOCKFILE=/tmp/.dracula-tmux-weather.lock
|
||||
|
||||
|
@ -29,7 +30,7 @@ main()
|
|||
|
||||
while tmux has-session &> /dev/null
|
||||
do
|
||||
$current_dir/weather.sh $fahrenheit > $current_dir/../data/weather.txt
|
||||
$current_dir/weather.sh $fahrenheit $location > $current_dir/../data/weather.txt
|
||||
if tmux has-session &> /dev/null
|
||||
then
|
||||
sleep 1200
|
||||
|
|
|
@ -3,19 +3,24 @@
|
|||
export LC_ALL=en_US.UTF-8
|
||||
|
||||
fahrenheit=$1
|
||||
location=$2
|
||||
|
||||
load_request_params()
|
||||
display_location()
|
||||
{
|
||||
city=$(curl -s https://ipinfo.io/city 2> /dev/null)
|
||||
region=$(curl -s https://ipinfo.io/region 2> /dev/null)
|
||||
if $location; then
|
||||
city=$(curl -s https://ipinfo.io/city 2> /dev/null)
|
||||
region=$(curl -s https://ipinfo.io/region 2> /dev/null)
|
||||
echo " $city, $region"
|
||||
else
|
||||
echo ''
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
fetch_weather_information()
|
||||
{
|
||||
display_weather=$1
|
||||
# it gets the weather condition textual name (%C), the temperature (%t), and the location (%l)
|
||||
curl -sL curl wttr.in\?format="+%C+%t$display_weather"
|
||||
# it gets the weather condition textual name (%C), and the temperature (%t)
|
||||
curl -sL wttr.in\?format="%C+%t$display_weather"
|
||||
}
|
||||
|
||||
#get weather display
|
||||
|
@ -28,11 +33,11 @@ display_weather()
|
|||
fi
|
||||
weather_information=$(fetch_weather_information $display_weather)
|
||||
|
||||
weather_condition=$(echo $weather_information | cut -d "+" -f 1 | cut -d "-" -f 1) # Sunny, Snow, etc
|
||||
temperature=$(echo $weather_information | cut -d '+' -f 2) # +31°C, -3°F, etc
|
||||
weather_condition=$(echo $weather_information | rev | cut -d ' ' -f2- | rev) # Sunny, Snow, etc
|
||||
temperature=$(echo $weather_information | rev | cut -d ' ' -f 1 | rev) # +31°C, -3°F, etc
|
||||
unicode=$(forecast_unicode $weather_condition)
|
||||
|
||||
echo "$unicode ${temperature/+/}" # remove the plus sign to the temperature
|
||||
echo "$unicode${temperature/+/}" # remove the plus sign to the temperature
|
||||
}
|
||||
|
||||
forecast_unicode()
|
||||
|
@ -54,10 +59,9 @@ forecast_unicode()
|
|||
|
||||
main()
|
||||
{
|
||||
load_request_params
|
||||
# process should be cancelled when session is killed
|
||||
if ping -q -c 1 -W 1 ipinfo.io &>/dev/null; then
|
||||
echo "$(display_weather) $city, $region"
|
||||
echo "$(display_weather)$(display_location)"
|
||||
else
|
||||
echo "Location Unavailable"
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue