You are not logged in.
Well, that settles it then...
After massive public demand by ceeslans and unklar I've updated the script to use the 24h format for the hourly forecast.
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
^Teo, it took a little longer with me.
You had given me a riddle again, because I didn't get any data and pictures displayed.
I am older and had downloaded the script via git...
Now everything is ok. Nice work from you.
Offline
Thank you both for your feedback.
I'll let the script be for a few days and then I'll update the git repository.
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
I'll let the script be for a few days and then I'll update the git repository.
...or not
ANNOUNCEMENT
Accuweather's hourly forecast massively changed. So has the script. Read the readme info for the new hourly forecast parameters.
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
Teo, in an effort to reduce screen occupancy and tweak the looks of the hourly forecast conky, I had to make numerous changes to the text, icon/font sizes, colors, offsets etc.
Since these conky settings for 'Hourly Forecast' are now mostly hardcoded in the base script file, I had to change the values in 'accuweather' script.
Would it be possible to 'move' this specific code to an extra script file, which could then be called as an 'include' by the accuweather script?
This way, it will be easier to update the base script, whenever accuweather decides to change their general format again...
Offline
Out of town, will answer in the next couple of days.
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
Ok, back to base again.
@ceeslans
I suppose I could make it a separate script, but I don't see how it would make things easier; could you please explain a bit more?
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
@Teo, on second thought I agree with you, it wouldn't make it easier really.
I've backed up the edited 'hourly forecast' script section, for a simple overwrite - if/when needed.
Offline
Alright, thanks for your contributions.
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
Hi teo,this conky no longer shows the hours of the weather.
Could you please change this with the new parameters the weather hours for newbies like me ?!
Always when you have time.
Thank you
conky.config = {
-- Create own window instead of using desktop (required in nautilus)
own_window = true,
own_window_type = 'override',
own_window_transparent = true,
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager',
-- Use double buffering (reduces flicker, may not work for everyone)
double_buffer = true,
-- fiddle with window
use_spacer = 'right',
use_xft = true,
-- Update interval in seconds
update_interval = 3,
-- Minimum size of text area
minimum_width = 360, minimum_height = 500,
maximum_width = 360,
override_utf8_locale = true,
-- Draw shades?
draw_shades = true,
-- Text stuff
draw_outline = true,-- amplifies text if yes
draw_borders = false,
--font freesans -12
font = 'Arial:size=9',
uppercase = false,-- set to yes if you want all text to be in uppercase
-- Stippled borders?
stippled_borders = 3,
-- border margins
border_inner_margin = 9,
-- border width
border_width = 10,
-- Default colors and also border colors, grey90 == #e5e5e5
default_color = '#cbcbcb',
color1 = '#ffe595',
own_window_colour = 'brown',
own_window_transparent = true,
-- Text alignment, other possible values are commented
--alignment top_left
alignment = 'top_right',
--alignment bottom_left
--alignment bottom_right
-- Gap between borders of screen and text
gap_x = 10,
gap_y = 30,
imlib_cache_size = 0,
-- stuff after 'TEXT' will be formatted on screen
};
conky.text = [[
${font Arial:size=12}${color1}WEATHER ${font}${hr 2}$color${texeci 500 bash $HOME/Accuweather_conky_script/accuweather -f2016}
${image $HOME/Accuweather_conky_script/forecast_2016/forecast_0.png -p 0,50 -s 170x170}
${font Arial:size=10}${texeci 600 sed -n '4p' $HOME/Accuweather_conky_script/curr_cond}${font}${goto 200}${color1}TEMPERATURE: $color${alignr}${texeci 600 sed -n '2p' $HOME/Accuweather_conky_script/curr_cond}° (${texeci 600 sed -n '3p' $HOME/Accuweather_conky_script/curr_cond}°)
${goto 200}${color1}WIND SPEED: $color${alignr}${texeci 600 sed -n '5p' $HOME/Accuweather_conky_script/curr_cond} ${texeci 600 sed -n '6p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}HUMIDITY: $color${alignr}${texeci 600 sed -n '7p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}PRESSURE: $color${alignr}${texeci 600 sed -n '8p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}UV INDEX: $color${alignr}${texeci 600 sed -n '9p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}CLOUD COVER: $color${alignr}${texeci 600 sed -n '10p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}CEILING: $color${alignr}${texeci 600 sed -n '11p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}DEW POINT: $color${alignr}${texeci 600 sed -n '12p' $HOME/Accuweather_conky_script/curr_cond}°
${goto 200}${color1}VISIBILITY: $color${alignr}${texeci 600 sed -n '13p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}SUN R/S: $color${alignr}${texeci 600 sed -n '14p' $HOME/Accuweather_conky_script/curr_cond}/${texeci 600 sed -n '15p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}SUN DUR: $color${alignr}${texeci 600 sed -n '16p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}MOON R/S: $color${alignr}${texeci 600 sed -n '18p' $HOME/Accuweather_conky_script/curr_cond}/${texeci 600 sed -n '19p' $HOME/Accuweather_conky_script/curr_cond}
${goto 200}${color1}MOON DUR: $color${alignr}${texeci 600 sed -n '20p' $HOME/Accuweather_conky_script/curr_cond}
${hr 1}
${goto 40}${font Arial:size=10}${color1}${texeci 600 sed -n '1p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}${goto 145}${texeci 600 sed -n '8p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}${goto 270}${texeci 600 sed -n '15p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}$color$font${image $HOME/Accuweather_conky_script/forecast_2016/forecast_1.png -p 0,245 -s 80x80}${image $HOME/Accuweather_conky_script/forecast_2016/forecast_2.png -p 110,245 -s 80x80}${image $HOME/Accuweather_conky_script/forecast_2016/forecast_3.png -p 230,245 -s 80x80}
${goto 100}${texeci 600 sed -n '4p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 210}${texeci 600 sed -n '11p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 330}${texeci 600 sed -n '18p' $HOME/Accuweather_conky_script/daily_forecast}°
${goto 100}/${texeci 600 sed -n '5p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 210}/${texeci 600 sed -n '12p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 330}/${texeci 600 sed -n '19p' $HOME/Accuweather_conky_script/daily_forecast}°
${font Arial:size=8}${texeci 600 sed -n '6p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}${goto 135}${texeci 600 sed -n '13p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}${goto 255}${texeci 600 sed -n '20p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}
${texeci 600 sed -n '6p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}${goto 135}${texeci 600 sed -n '13p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}${goto 255}${texeci 600 sed -n '20p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}$font
${hr 1}
${goto 40}${font Arial:size=10}${color1}${texeci 600 sed -n '22p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}${goto 145}${texeci 600 sed -n '29p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}${goto 270}${texeci 600 sed -n '36p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}$color$font${image $HOME/Accuweather_conky_script/forecast_2016/forecast_4.png -p 0,385 -s 80x80}${image $HOME/Accuweather_conky_script/forecast_2016/forecast_5.png -p 110,385 -s 80x80}${image $HOME/Accuweather_conky_script/forecast_2016/forecast_6.png -p 230,385 -s 80x80}
${goto 100}${texeci 600 sed -n '25p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 210}${texeci 600 sed -n '32p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 330}${texeci 600 sed -n '39p' $HOME/Accuweather_conky_script/daily_forecast}°
${goto 100}/${texeci 600 sed -n '26p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 210}/${texeci 600 sed -n '33p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 330}/${texeci 600 sed -n '40p' $HOME/Accuweather_conky_script/daily_forecast}°
${font Arial:size=8}${texeci 600 sed -n '27p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}${goto 135}${texeci 600 sed -n '34p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}${goto 255}${texeci 600 sed -n '41p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}
${texeci 600 sed -n '27p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}${goto 135}${texeci 600 sed -n '34p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}${goto 255}${texeci 600 sed -n '41p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}$font
${hr 1}
${goto 40}${font Arial:size=10}${color1}${texeci 600 sed -n '43p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}${goto 145}${texeci 600 sed -n '50p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}${goto 270}${texeci 600 sed -n '57p' $HOME/Accuweather_conky_script/daily_forecast|tr a-z A-Z}$color$font${image $HOME/Accuweather_conky_script/forecast_2016/forecast_7.png -p 0,525 -s 80x80}${image $HOME/Accuweather_conky_script/forecast_2016/forecast_8.png -p 110,525 -s 80x80}${image $HOME/Accuweather_conky_script/forecast_2016/forecast_9.png -p 230,525 -s 80x80}
${goto 100}${texeci 600 sed -n '46p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 210}${texeci 600 sed -n '53p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 330}${texeci 600 sed -n '60p' $HOME/Accuweather_conky_script/daily_forecast}°
${goto 100}/${texeci 600 sed -n '47p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 210}/${texeci 600 sed -n '54p' $HOME/Accuweather_conky_script/daily_forecast}°${goto 330}/${texeci 600 sed -n '61p' $HOME/Accuweather_conky_script/daily_forecast}°
${font Arial:size=8}${texeci 600 sed -n '48p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}${goto 135}${texeci 600 sed -n '55p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}${goto 255}${texeci 600 sed -n '62p' $HOME/Accuweather_conky_script/daily_forecast|cut -c1-20}
${texeci 600 sed -n '48p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}${goto 135}${texeci 600 sed -n '55p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}${goto 255}${texeci 600 sed -n '62p' $HOME/Accuweather_conky_script/daily_forecast|cut -c21-40}$font
]];
thank for help
Offline
^only the curr_cond is ok.
They've been tinkering again, they're teasing Teo again...
Offline
Yes they are.
·
Don't they know they are teasing the wrong guy?
The sun will never set if you keep walking towards it. - my son
Being positive doesn't understand physics.
_______________________________
Debian 10 Buster = SharpBang ♯!
Offline
^^Exactly, Teo does not let himself be annoyed, they have to get up earlier...
Offline
^only the curr_cond is ok.
They've been tinkering again, they're teasing Teo again...
Thank @unklar
Offline
Accuweather's staff should get a life. Me too...
Here goes
#!/usr/bin/env bash
#########################################################################################
# Put the command that launches the conky configuration file that uses this script here #
#########################################################################################
weather_conky_launch_command="conky -b"
#####################################
# Put your Accuweather address here #
#####################################
#address="https://www.accuweather.com/en/ar/buenos-aires/7894/weather-forecast/7894"
#address="https://www.accuweather.com/en/us/hutto-tx/78634/weather-forecast/2110192"
address="https://www.accuweather.com/en/gr/kastoria/178682/weather-forecast/178682"
#address="https://www.accuweather.com/en/de/lichtenstein/09350/weather-forecast/171261"
#address="https://www.accuweather.com/en/aq/casey-station/2273690/weather-forecast/2273690"
#Pause weather conky
pkill -STOP -xf "$weather_conky_launch_command"
#function: test_image
test_image () {
case $1 in
1)
echo a
;;
2|3)
echo b
;;
4|5)
echo c
;;
6)
echo d
;;
7)
echo e
;;
8)
echo f
;;
11)
echo 0
;;
12)
echo h
;;
13|14)
echo g
;;
15)
echo m
;;
16|17)
echo k
;;
18)
echo i
;;
19)
echo q
;;
20|21|23)
echo o
;;
22)
echo r
;;
24|31)
echo E
;;
25)
echo v
;;
26)
echo x
;;
29)
echo y
;;
30)
echo 5
;;
32)
echo 6
;;
33)
echo A
;;
34|35)
echo B
;;
36|37)
echo C
;;
38)
echo D
;;
39|40)
echo G
;;
41|42)
echo K
;;
43|44)
echo O
;;
*)
echo -
;;
esac
}
############################
# Check the user arguments #
############################
if (( $# < 1 || $# > 18 )); then
echo "Invalid arguments!"
exit
fi
forecast0=0
forecast2015=0
forecast2016=0
hourly0=0
hourly2015=0
hourly2016=0
h_24hours=1
h_real=1
h_uv=1
h_wind=1
h_wind_g=1
h_hum=1
h_ind_hum=1
h_dew=1
h_cl_cov=1
h_prec_am=1
h_visib=1
h_cl_ceil=1
for i in $*
do
if [[ $i != -f && $i != -f2015 && $i != -f2016 && $i != -h && $i != -h2015 && $i != -h2016 && $i != -h_12h && $i != -h_no_real && $i != -h_no_uv && $i != -h_no_wind && $i != -h_no_wind_g && $i != -h_no_hum && $i != -h_no_ind_hum && $i != -h_no_dew && $i != -h_no_cl_cov && $i != -h_no_prec_am && $i != -h_no_visib && $i != -h_no_cl_ceil ]]; then
echo "Invalid arguments!"
exit
fi
case $i in
-f)
forecast0=1
;;
-f2015)
forecast2015=1
;;
-f2016)
forecast2016=1
;;
-h)
hourly0=1
;;
-h2015)
hourly2015=1
;;
-h2016)
hourly2016=1
;;
-h_12h)
h_24hours=0
;;
-h_no_real)
h_real=0
;;
-h_no_uv)
h_uv=0
;;
-h_no_wind)
h_wind=0
;;
-h_no_wind_g)
h_wind_g=0
;;
-h_no_hum)
h_hum=0
;;
-h_no_ind_hum)
h_ind_hum=0
;;
-h_no_dew)
h_dew=0
;;
-h_no_cl_cov)
h_cl_cov=0
;;
-h_no_prec_am)
h_prec_am=0
;;
-h_no_visib)
h_visib=0
;;
-h_no_cl_ceil)
h_cl_ceil=0
;;
esac
done
if [[ $forecast0 == 1 ]]; then
forecast2015=0
forecast2016=0
fi
if [[ $hourly0 == 1 ]]; then
hourly2015=0
hourly2016=0
fi
last_number=$(echo $address|sed 's/^.*\///')
#############################################################
# NORMAL FORECAST: -f, -f2015 or -f2016 passed as arguments #
#############################################################
if [[ $forecast0 == 1 || $forecast2015 == 1 || $forecast2016 == 1 ]]; then
#function: convert_time
convert_time ()
{
hours=$(echo $1|awk -F ":| " '{print $1}')
minutes=$(echo $1|awk -F ":| " '{print $2}')
am_or_pm=$(echo $1|awk -F ":| " '{print $3}')
if [[ $am_or_pm == "" ]]; then
echo $1
return 0
elif [[ $am_or_pm == AM ]]; then
if (( $hours < 10 )); then
hours_24=0$hours
fi
if (( $hours == 10 || $hours == 11 )); then
hours_24=$hours
fi
if (( $hours == 12 )); then
hours_24=00
fi
elif [[ $am_or_pm == PM ]]; then
if (( $hours != 12 )); then
hours_24=$((hours+12))
fi
if (( $hours == 12 )); then
hours_24=12
fi
fi
time_24=$hours_24:$minutes
echo $time_24
}
#function: test_wind
test_wind () {
case $1 in
CLM)
echo -
;;
S)
echo 1
;;
SSW)
echo 2
;;
SW)
echo 3
;;
WSW)
echo 4
;;
W)
echo 5
;;
WNW)
echo 6
;;
NW)
echo 7
;;
NNW)
echo 8
;;
N)
echo 9
;;
NNE)
echo :
;;
NE)
echo ;
;;
ENE)
echo \<
;;
E)
echo =
;;
ESE)
echo \>
;;
SE)
echo ?
;;
SSE)
echo @
;;
esac
}
curr_addr="$(echo $address|sed 's/weather-forecast.*$//')"current-weather/"$last_number"
curl -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0' -H 'Accept-Language: en-US,en;q=0.5' --compressed -o $HOME/Accuweather_conky_script/curr_cond_raw "$curr_addr"
daily_addr="$(echo $address|sed 's/weather-forecast.*$//')"daily-weather-forecast/"$last_number"
curl -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0' -H 'Accept-Language: en-US,en;q=0.5' --compressed -o $HOME/Accuweather_conky_script/daily_forecast "$daily_addr"
if [[ $forecast2015 == 1 ]]; then
rm $HOME/Accuweather_conky_script/forecast_2015/forecast_*.png
fi
if [[ $forecast2016 == 1 ]]; then
rm $HOME/Accuweather_conky_script/forecast_2016/forecast_*.png
fi
#current conditions
if [[ -s $HOME/Accuweather_conky_script/curr_cond_raw ]]; then
sed '/conditions-card card panel conditions/,/class="card-button "/!d' $HOME/Accuweather_conky_script/curr_cond_raw > $HOME/Accuweather_conky_script/curr_cond_temp
sed -i -e '/\.svg"\|°\|phrase\|: /!d' -e '/style="transform: /d' $HOME/Accuweather_conky_script/curr_cond_temp
sed -i -e 's/^.*weathericons\///' -e 's/\.svg.*$//' -e 's/°.*$//g' -e 's/^[ ,\t]*//g' -e 's/^.*phrase">//' -e 's/<\/div>//' -e 's/: /\n/g' $HOME/Accuweather_conky_script/curr_cond_temp
sed -i -e '20s/\(.*\) /\1\n/' -e 's/ at /\n/g' $HOME/Accuweather_conky_script/curr_cond_temp
sed -n 1,3p $HOME/Accuweather_conky_script/curr_cond_temp > $HOME/Accuweather_conky_script/curr_cond
sed -n 5p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
sed -n 9,10p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
sed -n 14p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
sed -n 18p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
sed -n 7p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
sed -n 20p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
echo 'EMPTY LINE FOR COMPATIBILITY WITH THE OLD CONKYRC FILES' >> $HOME/Accuweather_conky_script/curr_cond
sed -n 16p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
sed -n 22p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
moonrise=1
moonset=1
sed '/<div class="panel-1"><div class="sunrise">/,/<div class="temp-history">/!d' $HOME/Accuweather_conky_script/curr_cond_raw > $HOME/Accuweather_conky_script/curr_cond_temp
if (( $(grep '"section-header">Moonrise' /$HOME/Accuweather_conky_script/curr_cond_temp|wc -l) == 0 )); then
moonrise=0
fi
if (( $(grep '"section-header">Moonset' /$HOME/Accuweather_conky_script/curr_cond_temp|wc -l) == 0 )); then
moonset=0
fi
sed -i '/:[0-9][0-9]/!d' $HOME/Accuweather_conky_script/curr_cond_temp
sed -i -e 's/^.*content">//g' -e 's/^[ ,\t]*//g' -e 's/<\/span>//g' -e 's/ hr//g' $HOME/Accuweather_conky_script/curr_cond_temp
if (( $moonrise == 0 )); then
sed -i '3s/$/\n-/' $HOME/Accuweather_conky_script/curr_cond_temp
sed -i '5s/$/\n-/' $HOME/Accuweather_conky_script/curr_cond_temp
fi
if (( $moonset == 0 )); then
sed -i '4s/$/\n-/' $HOME/Accuweather_conky_script/curr_cond_temp
sed -i '5s/$/\n-/' $HOME/Accuweather_conky_script/curr_cond_temp
fi
sed -n 1,3p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
echo 'EMPTY LINE FOR COMPATIBILITY WITH THE OLD CONKYRC FILES' >> $HOME/Accuweather_conky_script/curr_cond
sed -n 4,6p $HOME/Accuweather_conky_script/curr_cond_temp >> $HOME/Accuweather_conky_script/curr_cond
echo 'EMPTY LINE FOR COMPATIBILITY WITH THE OLD CONKYRC FILES' >> $HOME/Accuweather_conky_script/curr_cond
rm $HOME/Accuweather_conky_script/curr_cond_temp
image=$(sed -n 1p $HOME/Accuweather_conky_script/curr_cond)
echo $(test_image $image) >> $HOME/Accuweather_conky_script/curr_cond
sunrise_time=$(sed -n 14p $HOME/Accuweather_conky_script/curr_cond)
echo $(convert_time "$sunrise_time") >> $HOME/Accuweather_conky_script/curr_cond
sunrise_time=$(sed -n 15p $HOME/Accuweather_conky_script/curr_cond)
echo $(convert_time "$sunrise_time") >> $HOME/Accuweather_conky_script/curr_cond
sunrise_time=$(sed -n 18p $HOME/Accuweather_conky_script/curr_cond)
echo $(convert_time "$sunrise_time") >> $HOME/Accuweather_conky_script/curr_cond
sunrise_time=$(sed -n 19p $HOME/Accuweather_conky_script/curr_cond)
echo $(convert_time "$sunrise_time") >> $HOME/Accuweather_conky_script/curr_cond
wind=$(sed -n 5p $HOME/Accuweather_conky_script/curr_cond)
echo $(test_wind $wind) >> $HOME/Accuweather_conky_script/curr_cond
if (( $(sed -n 14p /$HOME/Accuweather_conky_script/curr_cond|wc -c) == 8 )); then
sed -i '14s/^/0/' $HOME/Accuweather_conky_script/curr_cond
fi
if (( $(sed -n 15p /$HOME/Accuweather_conky_script/curr_cond|wc -c) == 8 )); then
sed -i '15s/^/0/' $HOME/Accuweather_conky_script/curr_cond
fi
if (( $(sed -n 18p /$HOME/Accuweather_conky_script/curr_cond|wc -c) == 8 )); then
sed -i '18s/^/0/' $HOME/Accuweather_conky_script/curr_cond
fi
if (( $(sed -n 19p /$HOME/Accuweather_conky_script/curr_cond|wc -c) == 8 )); then
sed -i '19s/^/0/' $HOME/Accuweather_conky_script/curr_cond
fi
if [[ $forecast2015 == 1 ]]; then
cp $HOME/Accuweather_conky_script/Forecast_Images_2015/$(sed -n 1p $HOME/Accuweather_conky_script/curr_cond).png $HOME/Accuweather_conky_script/forecast_2015/forecast_0.png
cp $HOME/Accuweather_conky_script/Forecast_Images_2015/$(sed -n 5p $HOME/Accuweather_conky_script/curr_cond).png $HOME/Accuweather_conky_script/forecast_2015/wind_0.png
fi
if [[ $forecast2016 == 1 ]]; then
cp $HOME/Accuweather_conky_script/Forecast_Images_2016/$(sed -n 1p $HOME/Accuweather_conky_script/curr_cond).png $HOME/Accuweather_conky_script/forecast_2016/forecast_0.png
cp $HOME/Accuweather_conky_script/Forecast_Images_2016/$(sed -n 5p $HOME/Accuweather_conky_script/curr_cond).png $HOME/Accuweather_conky_script/forecast_2016/wind_0.png
fi
fi
#Daily forecast
if [[ -s $HOME/Accuweather_conky_script/daily_forecast ]]; then
sed -i '/<div class="daily-wrapper">/,/Further Ahead$/!d' $HOME/Accuweather_conky_script/daily_forecast
sed -i -e 's/^.*dow date">//g' -e 's/^.*sub date">//g' -e 's/^.*weathericons\///g' -e 's/\.svg.*$//g' -e 's/^.*"high">//g' -e 's/^.*"low">\///g' -e 's/°<\/span>//g' -e 's/<\/span>//g' -e '/<\|>\|fill=\|^[ \|\t]*$\|Further Ahead/d' -e 's/^[ \|\t]*//g' $HOME/Accuweather_conky_script/daily_forecast
for (( i=1; i<=21; i+=1 ))
do
echo >> $HOME/Accuweather_conky_script/daily_forecast
done
for (( i=3; i<=80; i+=7 ))
do
image=$(sed -n "${i}"p $HOME/Accuweather_conky_script/daily_forecast)
echo $(test_image $image) >> $HOME/Accuweather_conky_script/daily_forecast
done
if [[ $forecast0 == 0 ]]; then
j=1
for (( i=3; i<=80; i+=7 ))
do
if [[ $forecast2015 == 1 ]]; then
cp $HOME/Accuweather_conky_script/Forecast_Images_2015/$(sed -n ${i}p $HOME/Accuweather_conky_script/daily_forecast).png $HOME/Accuweather_conky_script/forecast_2015/forecast_$j.png
fi
if [[ $forecast2016 == 1 ]]; then
cp $HOME/Accuweather_conky_script/Forecast_Images_2016/$(sed -n ${i}p $HOME/Accuweather_conky_script/daily_forecast).png $HOME/Accuweather_conky_script/forecast_2016/forecast_$j.png
fi
((j++))
done
fi
fi
fi
#############################################################
# HOURLY FORECAST: -h, -h2015 or -h2016 passed as arguments #
#############################################################
#function: convert_time_h
convert_time_h ()
{
hours=$(echo $1|awk -F ":| " '{print $1}')
am_or_pm=$(echo $1|awk -F ":| " '{print $2}')
if [[ $am_or_pm == "" ]]; then
echo $1
return 0
elif [[ $am_or_pm == AM ]]; then
if (( $hours < 10 )); then
hours_24=0$hours
fi
if (( $hours == 10 || $hours == 11 )); then
hours_24=$hours
fi
if (( $hours == 12 )); then
hours_24=00
fi
elif [[ $am_or_pm == PM ]]; then
if (( $hours != 12 )); then
hours_24=$((hours+12))
fi
if (( $hours == 12 )); then
hours_24=12
fi
fi
time_24=$hours_24:00
echo $time_24
}
if [[ $hourly0 == 1 || $hourly2015 == 1 || $hourly2016 == 1 ]]; then
#Hourly: 24h
if [[ $hourly2015 == 1 ]]; then
rm $HOME/Accuweather_conky_script/hourly_2015/hourly_*.png
fi
if [[ $hourly2016 == 1 ]]; then
rm $HOME/Accuweather_conky_script/hourly_2016/hourly_*.png
fi
hourly_addr1="$(echo $address|sed 's/weather-forecast.*$//')"hourly-weather-forecast/"$last_number"
hourly_addr2="$(echo $address|sed 's/weather-forecast.*$//')"hourly-weather-forecast/"$last_number"?day=2
curl -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0' -H 'Accept-Language: en-US,en;q=0.5' --compressed -o $HOME/Accuweather_conky_script/hourly_raw1 "$hourly_addr1"
curl -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0' -H 'Accept-Language: en-US,en;q=0.5' --compressed -o $HOME/Accuweather_conky_script/hourly_raw2 "$hourly_addr2"
if [[ -s $HOME/Accuweather_conky_script/hourly_raw1 && -s $HOME/Accuweather_conky_script/hourly_raw2 ]]; then
#Hourly_raw1 file
sed -i '/<div class=\"hourly-wrapper content-module\">/,/day=/!d' $HOME/Accuweather_conky_script/hourly_raw1
sed -i -e 's/\.svg.*$//g' -e 's/^.*weathericons\///g' -e 's/^.*="value">//g' -e 's/^.*="precip/precip/g' -e '/div\|=/d' -e 's/<\/span>$//g' -e '/^[ \|\t]*$/d' -e '/<p>\|<\/p>\|<svg\|<\/svg\|^>\|<\/h2/d' -e 's/^[ \|\t]*//g' -e 's/<span>//g' -e 's/°//g' -e 's/ km\/h//g' -e 's/ mph//g' -e 's/®\|">//g' -e '/<\/a>/d' -e 's/ (.*$//g' -e 's/^Looking Ahead$//g' $HOME/Accuweather_conky_script/hourly_raw1
#Populate Max UV and Prec. Amount values where needed
i=1
while IFS= read -r line;
do
if [[ $(sed -n ${i}p $HOME/Accuweather_conky_script/hourly_raw1) == Wind ]]; then
j=$((i-2))
if [[ $(sed -n ${j}p $HOME/Accuweather_conky_script/hourly_raw1) != 'Max UV Index' ]]; then
sed -i "${i}s/^/Max UV Index\n0\n/" $HOME/Accuweather_conky_script/hourly_raw1
((i+=3))
fi
elif [[ $(sed -n ${i}p $HOME/Accuweather_conky_script/hourly_raw1) == Visibility ]]; then
j=$((i-2))
if [[ $(sed -n ${j}p $HOME/Accuweather_conky_script/hourly_raw1) != 'Rain' && $(sed -n ${j}p $HOME/Accuweather_conky_script/hourly_raw1) != 'Snow' ]]; then
sed -i "${i}s/^/Prec. Amount\n-\n/" $HOME/Accuweather_conky_script/hourly_raw1
((i+=3))
fi
fi
((i+=1))
done < $HOME/Accuweather_conky_script/hourly_raw1
#Hourly_raw2 file
sed -i '/<div class=\"hourly-wrapper content-module\">/,/day=/!d' $HOME/Accuweather_conky_script/hourly_raw2
sed -i -e 's/\.svg.*$//g' -e 's/^.*weathericons\///g' -e 's/^.*="value">//g' -e 's/^.*="precip/precip/g' -e '/div\|=/d' -e 's/<\/span>$//g' -e '/^[ \|\t]*$/d' -e '/<p>\|<\/p>\|<svg\|<\/svg\|^>\|<\/h2/d' -e 's/^[ \|\t]*//g' -e 's/<span>//g' -e 's/°//g' -e 's/ km\/h//g' -e 's/ mph//g' -e 's/®\|">//g' -e '/<\/a>/d' -e 's/ (.*$//g' $HOME/Accuweather_conky_script/hourly_raw2
#Populate Max UV and Prec. Amount values where needed
i=1
while IFS= read -r line;
do
if [[ $(sed -n ${i}p $HOME/Accuweather_conky_script/hourly_raw2) == Wind ]]; then
j=$((i-2))
if [[ $(sed -n ${j}p $HOME/Accuweather_conky_script/hourly_raw2) != 'Max UV Index' ]]; then
sed -i "${i}s/^/Max UV Index\n0\n/" $HOME/Accuweather_conky_script/hourly_raw2
((i+=3))
fi
elif [[ $(sed -n ${i}p $HOME/Accuweather_conky_script/hourly_raw2) == Visibility ]]; then
j=$((i-2))
if [[ $(sed -n ${j}p $HOME/Accuweather_conky_script/hourly_raw2) != 'Rain' && $(sed -n ${j}p $HOME/Accuweather_conky_script/hourly_raw2) != 'Snow' ]]; then
sed -i "${i}s/^/Prec. Amount\n-\n/" $HOME/Accuweather_conky_script/hourly_raw2
((i+=3))
fi
fi
((i+=1))
done < $HOME/Accuweather_conky_script/hourly_raw2
sed -i '/^$/d' $HOME/Accuweather_conky_script/hourly_raw1
cat $HOME/Accuweather_conky_script/hourly_raw1 $HOME/Accuweather_conky_script/hourly_raw2 > $HOME/Accuweather_conky_script/hourly
sed -i '/^Further Ahead$/d' $HOME/Accuweather_conky_script/hourly
sed -i '721,$d' $HOME/Accuweather_conky_script/hourly
for (( i=3; i<=720; i+=30 ))
do
image=$(sed -n "${i}"p $HOME/Accuweather_conky_script/hourly)
echo $(test_image $image) >> $HOME/Accuweather_conky_script/hourly
done
if [[ $hourly0 == 0 ]]; then
j=1
for (( i=3; i<=720; i+=30 ))
do
if [[ $hourly2015 == 1 ]]; then
cp $HOME/Accuweather_conky_script/Forecast_Images_2015/$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly).png $HOME/Accuweather_conky_script/hourly_2015/hourly_$j.png
fi
if [[ $hourly2016 == 1 ]]; then
cp $HOME/Accuweather_conky_script/Forecast_Images_2016/$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly).png $HOME/Accuweather_conky_script/hourly_2016/hourly_$j.png
fi
((j++))
done
fi
fi
# Convert times in hourly from am/pm to freedom times
for (( i=1; i<=720; i+=30 ))
do
h=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i ${i}s/^.*$/$(convert_time_h "$h")/ $HOME/Accuweather_conky_script/hourly
done
# Full info, next 24h - altogether24 file
rm $HOME/Accuweather_conky_script/{altogether24,altogether24_2015,altogether24_2016}
#TIME
echo "\${color1}TIME\${goto 100}$(sed -n 1p $HOME/Accuweather_conky_script/hourly)" > $HOME/Accuweather_conky_script/altogether24
jump_to=160
for (( i=31; i<=360; i+=30 ))
do
time=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "1s/$/\${goto $jump_to}$time/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=361; i<=720; i+=30 ))
do
time=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "1s/$/\${goto $jump_to}$time/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
sed -i '1s/$/\n\n\n/' $HOME/Accuweather_conky_script/altogether24
#FORECAST
echo "\${color1}FORECAST\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=7; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly|awk '{print $1}'|cut -c1-8)
sed -i "5s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=367; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly|awk '{print $1}'|cut -c1-8)
sed -i "5s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
sed -i '5s/$/\n/' $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=7; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly|awk '{print $2}'|cut -c1-8)
sed -i "6s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=367; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly|awk '{print $2}'|cut -c1-8)
sed -i "6s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#TEMPERATURE
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "TEMPER.\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=4; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "8s/$/\${goto $jump_to}$messg°/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=364; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "8s/$/\${goto $jump_to}$messg°/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#REAL FEEL
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "REAL FEEL\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=6; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "10s/$/\${goto $jump_to}$messg°/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=366; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "10s/$/\${goto $jump_to}$messg°/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#CHANCE OF PRECIPITATION
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "PRECIP. %\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=9; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "12s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=369; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "12s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#MAX UV INDEX
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "UV INDEX\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=12; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "14s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=372; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "14s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#WIND
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "WIND\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=14; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "16s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=374; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "16s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#WIND GUSTS
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "WIND GUSTS\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=16; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "18s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=376; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "18s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#HUMIDITY
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "HUMIDITY\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=18; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "20s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=378; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "20s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#INDOOR HUMIDITY
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "IND. HUMID.\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=20; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "22s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=380; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "22s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#DEW POINT
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "DEW POINT\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=22; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "24s/$/\${goto $jump_to}$messg°/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=382; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "24s/$/\${goto $jump_to}$messg°/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#CLOUD COVER
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "CLOUD CVR\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=24; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "26s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=384; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "26s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#PRECIPITATION AMOUNT
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "PREC. AM.\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=26; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "28s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=386; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "28s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#VISIBILITY
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "VISIBILITY\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=28; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "30s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=388; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "30s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#CLOUD CEILING
echo "\${color1}\${goto 100}\${hr 1}" >> $HOME/Accuweather_conky_script/altogether24
echo "CLOUD CEIL.\${color}" >> $HOME/Accuweather_conky_script/altogether24
jump_to=100
for (( i=30; i<=360; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "32s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=390; i<=720; i+=30 ))
do
messg=$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)
sed -i "32s/$/\${goto $jump_to}$messg/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
#IMAGES
if [[ $hourly0 == 0 ]]; then
if [[ $hourly2015 == 1 ]]; then
jump_to=75
cp $HOME/Accuweather_conky_script/altogether24 $HOME/Accuweather_conky_script/altogether24_2015
fi
if [[ $hourly2016 == 1 ]]; then
jump_to=85
cp $HOME/Accuweather_conky_script/altogether24 $HOME/Accuweather_conky_script/altogether24_2016
fi
rm $HOME/Accuweather_conky_script/altogether24
hours=$((12+$h_24hours*12))
for (( i=1; i<=$hours; i+=1 ))
do
if [[ $hourly2015 == 1 ]]; then
sed -i "4s/$/\${image \$HOME\/Accuweather_conky_script\/hourly_2015\/hourly_$i.png -s 60x36 -p $jump_to,49}/" $HOME/Accuweather_conky_script/altogether24_2015
fi
if [[ $hourly2016 == 1 ]]; then
sed -i "4s/$/\${image \$HOME\/Accuweather_conky_script\/hourly_2016\/hourly_$i.png -s 36x36 -p $jump_to,49}/" $HOME/Accuweather_conky_script/altogether24_2016
fi
((jump_to+=60))
done
fi
#CONKYFONT
if [[ $hourly0 == 1 ]]; then
sed -i '4s/$/\${color}\${font conkyweather:size=35}/' $HOME/Accuweather_conky_script/altogether24
jump_to=95
for (( i=721; i<=732; i+=1 ))
do
sed -i "4s/$/\${goto $jump_to}$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
if [[ $h_24hours == 1 ]]; then
for (( i=733; i<=744; i+=1 ))
do
sed -i "4s/$/\${goto $jump_to}$(sed -n ${i}p $HOME/Accuweather_conky_script/hourly)/" $HOME/Accuweather_conky_script/altogether24
((jump_to+=60))
done
fi
sed -i '4s/$/\${font}/' $HOME/Accuweather_conky_script/altogether24
sed -i '2,3d' $HOME/Accuweather_conky_script/altogether24
fi
#DELETE UNWANTED VARIABLES
if [[ $h_real == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '7,8s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '9,10s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '9,10s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_uv == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '11,12s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '13,14s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '13,14s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_wind == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '13,14s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '15,16s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '15,16s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_wind_g == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '15,16s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '17,18s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '17,18s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_hum == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '17,18s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '19,20s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '19,20s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_ind_hum == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '19,20s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '21,22s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '21,22s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_dew == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '21,22s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '23,24s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '23,24s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_cl_cov == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '23,24s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '25,26s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '25,26s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_prec_am == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '25,26s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '27,28s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '27,28s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_visib == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '27,28s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '29,30s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '29,30s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
if [[ $h_cl_ceil == 0 ]]; then
if [[ $hourly0 == 1 ]]; then
sed -i '29,30s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24
elif [[ $hourly2015 == 1 ]]; then
sed -i '31,32s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2015
elif [[ $hourly2016 == 1 ]]; then
sed -i '31,32s/^.*$/VOID/' $HOME/Accuweather_conky_script/altogether24_2016
fi
fi
sed -i '/VOID/d' $HOME/Accuweather_conky_script/{altogether24,altogether24_2015,altogether24_2016}
fi
#Resume weather conky
pkill -CONT -xf "$weather_conky_launch_command"
Two things:
1)The daily forecast now predicts only 12 days instead of 15. I hope that's not a great inconvenience; if I went for 15 I'd have to download another page with curl and the script would get slower.
2)I added some empty lines at the end of the daily_forecast file, just before the weatherfont letters, for compatibility with the old weatherfont conkyrcs. Please allow me this laziness, it was either that or the correction of all weatherfont conky configurations.
Beta testers are always welcome.
PS: I can't use my VPN at the moment, so I can't test from a place that uses imperial units. I hope the script behaves well in such countries.
EDIT: I've corrected the hourly forecast as well.
Last edited by TeoBigusGeekus (2020-07-16 17:19:49)
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
It looks like it works now.
Offline
Thanks morfik.
Can you test for a place in the US?
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
The script is missing two lines ... it's OK I added them as the 2nd and third line in the script
Here goes
#!/usr/bin/env bash
## On the 15th of July 2020, TeoBigusGeekus said:
## "Accuweather's staff should get a life. Me too..."
{snip}
RE: Two things:
1) 12 .. I like 12. Know what that say: It's cheaper by the dozen.
2)YEA! Finally I get my head space in a script: Empty.
PS: Imperial? As in ancient Japan?
Beta tester S11 going into action now ....
The sun will never set if you keep walking towards it. - my son
Being positive doesn't understand physics.
_______________________________
Debian 10 Buster = SharpBang ♯!
Offline
Cheers S11, I knew I could count on you.
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Please make Autocad Civil 3D and Archicad work on Linux!
Offline
The sun will never set if you keep walking towards it. - my son
Being positive doesn't understand physics.
_______________________________
Debian 10 Buster = SharpBang ♯!
Offline
Cheers S11, I knew I could count on you.
Always ...
I gotta get more creative
The sun will never set if you keep walking towards it. - my son
Being positive doesn't understand physics.
_______________________________
Debian 10 Buster = SharpBang ♯!
Offline
@Teo, script is working again, thanks for your everlasting patience and efforts.
...BUT... the hourly weather is not showing forecasts for the full 24 hours. It stops at 23:00 (or 11 PM if you like).
The same thing happens at the accuweather website: It shows an hourly forecast until midnight only. The next-day early hours are a mouse-click away, under a "tomorrow" submenu on the same page...
Last edited by ceeslans (2020-07-16 12:28:35)
Offline
Thanks @Teo
Now everything works.
Great
Offline
I was asked for my Accuweather conky so here goes.
NOTE: conky v1.9 format:
/media/5/Conky/Accuweather_conky_script/S11_accu_tm_BAR_2016-full.conky <- image
Background images:
#${image /media/5/Conky/images/AccuweatherTopMiddleBARFull-25.png}
#${image /media/5/Conky/images/AccuweatherTopMiddleBARFull-40.png}
#${image /media/5/Conky/images/AccuweatherTopMiddleBARFull-60.png}
# pkill -xf "conky -c /media/5/Conky/Accuweather_conky_script/S11_accu_tm_BAR_2016-full.conky" &
# Created - Tue 08 Nov 2016
# tweaked Tue 17 Jan 2017
# tweaked Wed 15 Jul 2020
# Begin Window Settings
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,skip_taskbar,skip_pager
own_window_colour 000000
own_window_class Conky
own_window_title Accuweather TopMiddle BAR Full
#own_window_argb_visual yes
#own_window_argb_value 40
minimum_size 1550 0
maximum_width 1550
gap_x 5
gap_y 5
alignment tl
# End Window Settings
# Font Settings
use_xft yes
xftfont Fira Mono:bold:size=10
xftalpha 1.0
override_utf8_locale yes
uppercase no
## End Font Settings
# Color Settings
draw_shades yes
default_shade_color 000000
draw_outline no
default_outline_color 000000
default_color DCDCDC #Gainsboro
color0 A9A9A9 #DarkGrey
color1 778899 #LightSlateGray
color2 FAEBD7 #AntiqueWhite
color3 87CEFA #LightSkyBlue
color4 48D1CC #MediumTurquoise
color5 FFDEAD #NavajoWhite
color6 00BFFF #DeepSkyBlue
color7 F8F8FF #GhostWhite
color8 FFD700 #Gold
color9 FFA07A #LightSalmon
# End Color Settings
# Borders Section
draw_borders no
stippled_borders 5
border_inner_margin 0
border_outer_margin 0
border_width 2
draw_graph_borders yes
#default_graph_size 15 40
# End Borders Secton #
# Miscellaneous Section #
background yes
use_spacer none
no_buffers yes
double_buffer yes
## End Miscellaneous Section #
update_interval 1
#${image /media/5/Conky/images/AccuweatherTopMiddleBARFull-25.png}
#${image /media/5/Conky/images/AccuweatherTopMiddleBARFull-40.png}
#${image /media/5/Conky/images/AccuweatherTopMiddleBARFull-60.png}
TEXT
${execpi 900 /media/5/Conky/Accuweather_conky_script/accuweather -f2015 -f2016}\
${image /media/5/Conky/images/AccuweatherTopMiddleBARFull-40.png}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_0.png -p 23,4 -s 45x45}\
±${execi 30 sed -n '3p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${goto 115}${color3}Pressure\
${goto 235}HUM\
${goto 300}CLD${color}\
${goto 356}| ${color5}Sun Moon${color} |\
${color9}${goto 525}${execi 30 sed -n '4p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 588}${execi 30 sed -n '7p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 628}${execi 30 sed -n '11p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 692}${execi 30 sed -n '14p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 732}${execi 30 sed -n '18p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 796}${execi 30 sed -n '21p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 837}${execi 30 sed -n '25p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 900}${execi 30 sed -n '28p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 941}${execi 30 sed -n '32p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 1004}${execi 30 sed -n '35p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 1045}${execi 30 sed -n '39p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 1108}${execi 30 sed -n '42p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 1149}${execi 30 sed -n '46p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 1212}${execi 30 sed -n '49p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 1254}${execi 30 sed -n '53p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 1316}${execi 30 sed -n '56p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 1357}${execi 30 sed -n '60p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 1420}${execi 30 sed -n '63p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color9}${goto 1460}${execi 30 sed -n '67p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${color}${goto 1524}${execi 30 sed -n '70p' /media/5/Conky/Accuweather_conky_script/daily_forecast}
${goto 115}${execi 30 sed -n '8p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${goto 235}${execi 30 sed -n '7p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${goto 300}${execi 30 sed -n '10p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${goto 356}| ${color2}↑ ${execi 30 sed -n '23p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
↑ ${execi 30 sed -n '25p' /media/5/Conky/Accuweather_conky_script/curr_cond}${color} |
${execi 30 sed -n '2p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${goto 115}${color3}Wind & Speed\
${goto 235}UVI\
${goto 300}VIS${color}\
${goto 356}| ${color3}↓ ${execi 30 sed -n '24p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
↓ ${execi 30 sed -n '26p' /media/5/Conky/Accuweather_conky_script/curr_cond}${color} |\
${goto 588}${color3}${execi 30 sed -n '5p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 692}${execi 30 sed -n '12p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 796}${execi 30 sed -n '19p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 900}${execi 30 sed -n '26p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 1004}${execi 30 sed -n '33p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 1108}${execi 30 sed -n '40p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 1212}${execi 30 sed -n '47p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 1316}${execi 30 sed -n '54p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 1420}${execi 30 sed -n '61p' /media/5/Conky/Accuweather_conky_script/daily_forecast}\
${goto 1524}${execi 30 sed -n '68p' /media/5/Conky/Accuweather_conky_script/daily_forecast}${color}
${color5}Currently${color}\
${goto 115}${execi 30 sed -n '5p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${execi 30 sed -n '6p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${goto 235}${execi 30 sed -n '9p' /media/5/Conky/Accuweather_conky_script/curr_cond | cut -b 1,2}/11\
${goto 300}${execi 30 sed -n '13p' /media/5/Conky/Accuweather_conky_script/curr_cond}\
${goto 356}| ~ ${execi 30 sed -n '16p' /media/5/Conky/Accuweather_conky_script/curr_cond | cut -c-5}\
~ ${execi 30 sed -n '20p' /media/5/Conky/Accuweather_conky_script/curr_cond | cut -c-5} |\
${goto 524}${color5}${execi 3600 echo `date --date="0 day" | awk '{print $1" "$3" "$2}'`}\
${goto 628}${execi 3600 echo `date --date="1 day" | awk '{print $1" "$3" "$2}'`}\
${goto 732}${execi 3600 echo `date --date="2 day" | awk '{print $1" "$3" "$2}'`}\
${goto 836}${execi 3600 echo `date --date="3 day" | awk '{print $1" "$3" "$2}'`}\
${goto 940}${execi 3600 echo `date --date="4 day" | awk '{print $1" "$3" "$2}'`}\
${goto 1044}${execi 3600 echo `date --date="5 day" | awk '{print $1" "$3" "$2}'`}\
${goto 1148}${execi 3600 echo `date --date="6 day" | awk '{print $1" "$3" "$2}'`}\
${goto 1252}${execi 3600 echo `date --date="7 day" | awk '{print $1" "$3" "$2}'`}\
${goto 1356}${execi 3600 echo `date --date="8 day" | awk '{print $1" "$3" "$2}'`}\
${goto 1460}${execi 3600 echo `date --date="9 day" | awk '{print $1" "$3" "$2}'`}${color}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_1.png -p 539,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_2.png -p 643,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_3.png -p 747,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_4.png -p 851,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_5.png -p 955,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_6.png -p 1059,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_7.png -p 1163,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_8.png -p 1267,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_9.png -p 1371,4 -s 45x45}\
${image /media/5/Conky/Accuweather_conky_script/forecast_2016/forecast_10.png -p 1475,4 -s 45x45}
Enjoy
The sun will never set if you keep walking towards it. - my son
Being positive doesn't understand physics.
_______________________________
Debian 10 Buster = SharpBang ♯!
Offline