DEMANDE D'ORIGINE par Phyllinux
Phyllinux a écritAmi(e)s conky(stadores) bonjour !
Si vous avez passé de nombreuses heures à peaufiner vos différents conkys, et plus particulièrement à travailler sur des conkys météo, je pense que vous avez reçu tout comme moi un mail de weather.com vous indiquant que leur service de fourniture des données allait changer d'ici la mi novembre.
Pour continuer à pouvoir recevoir les données météo, il faut souscrire un abonnement, aux tarifs prohibitifs ! De 20$ à 186$ par mois. Je ne pense pas que beaucoup de particuliers souscrivent à cette offre pour obtenir une météo alors qu'il existe de nombreux sites permettant d'accéder gratuitement à ces informations.
Alors, j'ai commencé à rechercher des solutions alternatives pour continuer à faire tourner mes conkys. J'ai trouvé 2 possibilités : Celle de Yahoo! Weather RSS Feed Yahoo Weather et celle de Wunderground Wunderground.
Si quelqu'un sait comment :
1/ Automatiser la requête pour télécharger ces données et
2/ Les intégrer dans le conky pour permettre l'affichage comme avec celles provenant de weather.com, je suis preneur, et je pense que je ne serais pas le seul wink
[...]
Voici pour mon coup de gueule du jour, et si l'un d'entre vous à des idées sur la solution de rechange pour conkyforecast, je suis preneur tongue
REPRISE DU TRAVAIL DE Didier-T
Didier-T a écritBonjour à tous,
J’étais chagriné par l’annonce de weather.com concernant leur prochain passage en service payant sad (tous comme Phyllinux)
donc après maintes recherche voici une solution (infos météo sur 8 jours). smile
le script d'origine est emprunté a TeoBigusGeekus du forum anglais de ubuntu vous le trouverez ici avec d'autres scripts (il est très actif)
voici le fichier compressé des
icônes, en fait je me suis contenté de renommer certaines icônes de conkyforcast
edit : j'oubliais, pour recupérer les infos il faut se rendre sur le site
wunderground.com
- rechercher sa ville
- glisser sa sourie sur la petite icone bleu avec une triangle blanc tête en bas (tout à droite)
- faire un clique droit sur Download iCal
- choisir copier l'adresse du lien (qui devrait ressembler à ceci http://ical.wunderground.com/auto/ical/global/stations/07150.ics?units=metric)
- et la coller dans le script wunderground-script.sh à la ligne 105
BOULOT PERSO
Je viens de revoir tout le script...
Pour ce qui est de l'espace de travaille, j'ai juste repris celui d'origine, je n'avais absolument pas modifié les emplacements.

enfin bref, voila la bête :
wunderground-script.sh
#!/bin/bash
# Version amélioré de wunderground-script.sh par Levi59
# Créé par Didier-T (forum.ubuntu-fr.org), inspiré par TeoBigusGeekus (ubuntuforums.org)
# Copyright (C) 27 Oct. 2011, Rombeaut Rodolphe
# Released into the public domain.
DirShell="$HOME/conky/meteo"
CodeVille=07015
#####
#####
#function: test_weather_message
test_weather_message () {
case "$1" in
"Chance of Flurries"|Flurries) echo p ;;
"Chance of Rain") echo h ;;
"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain") echo v ;;
"Chance of Sleet"|Sleet) echo w ;;
"Chance of Snow") echo q ;;
"Chance of Thunderstorms"|Thunderstorms|Thunderstorm) echo n ;;
"Chance of a Thunderstorm") echo m ;;
Clear|Sunny) echo a ;;
Cloudy) echo d ;;
Fog|Haze) echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo c ;;
"Mostly Sunny"|"Scattered Clouds") echo b ;;
Rain) echo i ;;
Snow) echo r ;;
Overcast) echo e ;;
*) echo -
esac
}
#function: test_weather_message_night
test_weather_message_night () {
case "$1" in
"Chance of Flurries"|Flurries|"Chance of Snow"|Snow) echo O ;;
"Chance of Rain"|"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain"|"Chance of Sleet"|Sleet|Rain) echo G ;;
"Chance of Thunderstorms"|"Thunderstorms"|"Thunderstorm") echo K ;;
"Chance of a Thunderstorm") echo m ;;
"Clear"|"Sunny") echo A ;;
"Cloudy") echo D ;;
"Fog"|"Haze") echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo C ;;
"Mostly Sunny"|"Scattered Clouds") echo B ;;
"Overcast") echo D ;;
*) echo -
esac
}
#function: test_wind_message
test_wind_message () {
case "${1/ /}" in
"Sou") echo 1 ;;
"SSW") echo 2 ;;
"SW") echo 3 ;;
"WSW"|"Sle") echo 4 ;;
"Wes") echo 5 ;;
"WNW") echo 6 ;;
"NW") echo 7 ;;
"NNW") echo 8 ;;
"Nor") echo 9 ;;
"NNE") echo ":" ;;
"NE") echo ";" ;;
"ENE") echo "<" ;;
"Eas") echo "=" ;;
"ESE") echo ">" ;;
"SE") echo "?" ;;
"SSE") echo "@" ;;
*) echo "-"
esac
}
test_break () {
[[ -n "$1" ]] || break
}
rm ${DirShell}/yes 2&>/dev/null
> ${DirShell}/weather_icons
egrep -i 'DESCRIPTION' < <(wget http://ical.wunderground.com/auto/ical/global/stations/${CodeVille}.ics?units=metric -O - -o /dev/null) > ${DirShell}/messages.wun
sed -i -e 's/\(\\n\| - \|Wind \)/\n/g' -e 's/DESCRIPTION://g' -e 's/\(High\|Low\)/\n&/g' ${DirShell}/messages.wun
sed -i -e 's/\..*//g' ${DirShell}/messages.wun
for (( i=2; i<=100; i+=8 ))
do
for j in 0 4
do
test_line=$(sed -n "$(($i+$j))p" ${DirShell}/messages.wun)
test_break $test_line
test_weather_message "$test_line" >> ${DirShell}/weather_icons
test_line=$(sed -n "$(($i+$j+2))p" ${DirShell}/messages.wun)
test_break ${test_line:0:3}
test_wind_message "${test_line:0:3}" >> ${DirShell}/weather_icons
done
done
days_no=$(( $(wc -l < ${DirShell}/weather_icons)/4 ))
[[ $days_no -eq 8 ]] && touch ${DirShell}/yes
# Traduction en francais
sed -i "s/Scattered Clouds/Nuages épars/g
s/Chance of Flurries/Quelques averses de neige/g
s/Chance of Rain/Risques de pluie/g
s/Chance of Snow/Risques de neige/g
s/Chance of Freezing Rain/Risque de pluie verglaçante/g
s/Light Freezing Rain/Faible pluie verglaçante/g
s/Freezing Rain/Pluie verglaçante/g
s/Chance of Sleet/Risque de verglas/g
s/Chance of \(a \)\?Thunderstorm\(s\)\?/Risque d' orages/g
s/\(Mostly\|Partly\) Cloudy/Partiellement nuageux/g
s/\(Mostly\|Partly\) Sunny/Partiellement ensoleillé/g
s/Scattered Clouds/Nuages épars/g
s/Overcast/Couvert/g
s/Snow/Neige/g
s/Flurries/Averses de neige/g
s/\(Clear\|Sunny\)/Ensoleillé/g
s/Cloudy/Nuageux/g
s/Calm/&e/g
s/Fog/Brouillard/g
s/Haze/Brume/g
s/Thunderstorm\(s\)\?/Orages/g
s/Sleet/Verglas/g
s/ C/ °C/g
s/Low/Mini/g
s/High/Maxi/g
s/Night/Soir/g
s/Monday/Lundi/g
s/Tuesday/Mardi/g
s/Wednesday/Mercredi/g
s/Thursday/Jeudi/g
s/Friday/Vendredi/g
s/Saturday/Samedi/g
s/Sunday/Dimanche/g
s/South/Sud/g
s/East/Est/g
s/North/Nord/g
s/West/Ouest/g
s/NW/NO/g
s/SW/SO/g
s/NNW/NNO/g
s/SSW/SSO/g
s/WNW/ONO/g
s/WSW/OSO/g" ${DirShell}/messages.wun
formatage-icones-meteo.sh
#!/bin/bash
# Version amélioré de formatage-icones-meteo.sh
# Copyright (C) 27 Oct. 2011, Rombeaut Rodolphe
# Released into the public domain.
DirShell="$HOME/conky/meteo/"
####
####
[[ -d ${DirShell}/images/ ]] || {
echo "Pas de fichier images"
exit
}
[[ -d ${DirShell}/images/conky/ ]] || mkdir ${DirShell}/images/conky/
n=0
for (( i=1 ; i<=32 ; i+=2 ))
do
n=$((n+1))
fichier=$(sed -n "${i}p" ${DirShell}/weather_icons)
[[ -z $fichier ]] && break
cp ${DirShell}/images/meteo/$fichier.png ${DirShell}/images/conky/j$n.png
j=$((i+1))
fichier=$(sed -n "${j}p" ${DirShell}/weather_icons)
cp ${DirShell}/images/vent/$fichier.png ${DirShell}/images/conky/v$n.png
done
Pour le conkyrc :
# temps pour fermer conky en seconde. 0 = toujours actif
total_run_times 0
imlib_cache_size 0
# affiche le texte sur la sortie standard
out_to_console no
# réglage de la mémoire, pour éviter le clignotement
double_buffer yes
# Soustraire les mémoires tampons de la mémoire utilisée
no_buffers yes
text_buffer_size 2048
imlib_cache_size 0
# taux de rafraichissement de la fenêtre (en secondes)
update_interval 1
# nombre d'échantillons à utiliser pour calculer la moyenne d'utilisation
cpu_avg_samples 4
net_avg_samples 4
# taille et positon
alignment tm
minimum_size 320 320
maximum_width 700
# écart avec le bord x=gauche ou droit y= haut ou bas
gap_x 0
gap_y 40
# afficher les ombres
draw_shades yes
# afficher des contours
draw_outline no
# contours autour des blocs de texte
draw_borders no
# largeur du contour
border_width 1
# largeur des marges
#border_margin 4
#pour que conky tourne en arrière plan background no pour les tests
background yes
# utiliser sa propre fenêtre
own_window yes
#type de fenêtre : normal(avec le cadre) / override / desktop
own_window_type override # normal / override / desktop
#pseudo transparence si vous avez des icones sous le conky elle ne seront plus accessible une fois conky activé
own_window_transparent yes
#own_window_hints undecorated,below,skip_taskbar,skip_pager
# Utiliser Xft (polices lissées etc)
use_xft yes
#xftalpha .1
override_utf8_locale yes # force UTF8
#police a utiliser : use_xft doit être a "yes"
xftfont Comic sans MS:size=8
xftalpha 0.8
# Tout le texte en majuscule
uppercase no
# Ajoute des espaces après certains objets pour éviter de les faire bouger.
# Fonctionne uniquement avec les polices Fixes
use_spacer right
# Taille de la jauge par défault
default_gauge_size 0 10
# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black
color1 e49c16
color2 CA0000 #rouge
color3 FFFFFF
color6 EEEEEE
color7 DDDDDD
color8 CCCCCC
color9 BBBBBB
TEXT
${color red}${font Bitstream Vera Sans Mono:style=Bold:size=14}Météo ${hr 2}${font}
${color green}${font Comic sans MS:style=Bold:size=14}Maintenant
${execpi 1800 ~/conky/script/wunderground-script.sh}${execpi 1800 ~/conky/script/formatage-icones-meteo.sh} # Récuperation et formatage des infos météo
${image ~/conky/meteo/images/conky/j1.png -p 0,50 -s 90x90}
${color light grey}${font Bitstream Vera Sans Mono:style=Bold:size=14}${voffset -15}${offset 100}${execi 1800 sed -n '2p' ~/conky/meteo/messages.wun}
${offset 100}Température ${execi 1800 sed -n '3p' ~/conky/meteo/messages.wun}
${offset 130}${voffset 5}${execi 1800 sed -n '4p' ~/conky/meteo/messages.wun}
${image ~/conky/meteo/images/conky/v1.png -p 100,100 -s 30x30}
${color green}${font Comic sans MS:style=Bold:size=14}${execi 1800 sed -n '5p' ~/conky/meteo/messages.wun}
${image ~/conky/meteo/images/conky/j2.png -p 0,178 -s 90x90}
${color light grey}${font Bitstream Vera Sans Mono:style=Bold:size=14}${voffset -15}${offset 100}${execi 1800 sed -n '6p' ~/conky/meteo/messages.wun}
${offset 100}Température ${execi 1800 sed -n '7p' ~/conky/meteo/messages.wun}
${offset 130}${voffset 5}${execi 1800 sed -n '8p' ~/conky/meteo/messages.wun}
${image ~/conky/meteo/images/conky/v2.png -p 100,228 -s 30x30}