#1901 Le 03/02/2013, à 17:13
- RayBan10
Re : [Conky] Alternative à weather.com (2)
si il faut les mètres dans tonumber(variable)
mais le soucis ne doit pas venir de la
Ok, j'essaye
Hors ligne
#1902 Le 03/02/2013, à 17:15
- Didier-T
Re : [Conky] Alternative à weather.com (2)
ton "lol" s'affiche ?
Hors ligne
#1903 Le 03/02/2013, à 17:16
- RayBan10
Re : [Conky] Alternative à weather.com (2)
Yes !
Hors ligne
#1904 Le 03/02/2013, à 17:21
- RayBan10
Re : [Conky] Alternative à weather.com (2)
pour les rafales
conditionJour[tonumber(j)].VentRafales
pour la neige
conditionJour[tonumber(j)].QNeige
pour le verglas
conditionJour[tonumber(j)].EVerglas
pour la visibilité
conditioncourante.Visibilite
Ca semble fonctionner ! (en tout cas avec rafale)
Merci beaucoup Didier-T.
J'y serais pas arrivé sans vous.
J'avais deja essayé, mais cela devait venir de if j == nil, que je n'avais pas essayé en meme temps.
Merci beaucoup Didier-T.
Hors ligne
#1905 Le 03/02/2013, à 17:39
- Didier-T
Re : [Conky] Alternative à weather.com (2)
de rien
Hors ligne
#1906 Le 04/02/2013, à 16:58
- daniel38100
Re : [Conky] Alternative à weather.com (2)
Hors ligne
#1907 Le 04/02/2013, à 17:58
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
petit tableau de prévision complète que j'me suis amusé a faire au boulot
http://pix.toile-libre.org/upload/img/1359993395.png
Bon travail !!
J'ai un truc bizarre avec le calendrier.Il affiche deux fois la date (lu 04): ?
Hors ligne
#1908 Le 04/02/2013, à 18:43
- Didier-T
Re : [Conky] Alternative à weather.com (2)
petit tableau de prévision complète que j'me suis amusé a faire au boulot
http://pix.toile-libre.org/upload/img/1359993395.png
et bien y'en a qui ont des tafs en or
Hors ligne
#1909 Le 06/02/2013, à 09:39
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
Peut-on mettre en place les éléments du creationmodules sans être en ligne; pour aller plus vite. J'ai essayé de mettre en hors ligne dans le conky mais ça ne marche pas ?
Hors ligne
#1910 Le 06/02/2013, à 10:20
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Peut-on mettre en place les éléments du creationmodules sans être en ligne; pour aller plus vite. J'ai essayé de mettre en hors ligne dans le conky mais ça ne marche pas ?
Hello
Si c'est pour faire des tests sur les creations-modules tu créé un conky basic du style:
# scripts lua à charger ##################################### changer ~/conky par votre rep si vous n'avez pas le mme
lua_load ~/conky/Meteo-Lua/scripts/meteo.lua # ces scripts sont obligatoires
lua_startup_hook init ~/conky/Meteo-Lua/configs/meteo.cfg #
#############################################################
TEXT
#### Lancement des scripts récupérant les données météo ##
#Important si vous avez un conky lançant déja meteo.lua
# utilisez ${lua Meteo_horsligne}
#--------------------------------------------------------------
${lua Meteo_Maj}
sans l'appel à images_meteo.lua donc qui ne se chargera que des mises à jours des données
et un second avec appel à images_meteo.lua (donc celui que tu utilise) mais en mode hors_ligne que tu peux dans ce cas lancer dans des délais plus court voir à chaque fois que tu sauvegarde ce conky.
et pis c'est tout
eh bin c'est pas tout
tu crée un script bash nommé relance-conky-test (par ex) rendu executable et tu y met
#!/bin/bash
# pour le tuer
pid=$(ps x |grep "[c]onky -c /lechemin/detonconkyimagetest" | cut -d " " -f2)
kill -9 $pid
#pour le relancer
conky -c /lechemin/detonconkyimagetest
comme çà quand tu fait tes essais du creation-modules un clic sur le relance-conky-test et c'est tout bon
Dernière modification par jpdipsy (Le 06/02/2013, à 10:45)
Hors ligne
#1911 Le 06/02/2013, à 11:24
- Didier-T
Re : [Conky] Alternative à weather.com (2)
bonjour a tous,
je tenais a vous montrer l'avancé du script en python
attention pour le tester il vous faudra la bibliothèque BeautifulSoup 4 ainsi que python 3
normalement les changements sur le site ne devrais pas affecter le bon fonctionnement de ce script (sauf pour la partie 8 heures)
le script actuel retourne des fichiers texte dans le répertoire repsauv, ses fichiers serviront de base de donnée a un futur meteo.lua
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Par Didier-T Forum Ubuntu.fr
import urllib.request, os, time, re
from bs4 import BeautifulSoup
adressWeb="http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593"
homedir = os.path.expanduser('~')
repsauv= homedir+"/essais"
def traitement(adress, fichier, pat):
url=urllib.request.Request(adress)
currentCond=urllib.request.urlopen(url)
soup = BeautifulSoup(currentCond)
currentCond.close()
fiche = open(fichier, "w")
#si autres que huit heures
if re.search("huitHeures", fichier) is None:
#récupération date + historique
if re.search("Jour", fichier) is not None or re.search("CC", fichier) is not None:
histo=soup.find(id="feature-history")
#récupération date
date=histo.select("[class~=lt]")
for d in date:
jour=re.compile("^.* - (.*)/(.*)/(.*)").search(d.get_text())
fiche.write("jour: "+jour.group(1)+"\n")
fiche.write("mois: "+jour.group(2)+"\n")
fiche.write("année: "+jour.group(3)+"\n")
#récupération historique
hi=histo.select("[class~=hi]")
for v in hi:
hivalue=v.get_text().split("\n")
fiche.write("maxjour: "+hivalue[2]+"\n")
fiche.write("maxnormal: "+hivalue[3]+"\n")
fiche.write("maxrecord: "+hivalue[4]+"\n")
fiche.write("max1ans: "+hivalue[5]+"\n")
lo=histo.select("[class~=last]")
for v in lo:
lovalue=v.get_text().split("\n")
fiche.write("minjour: "+lovalue[2]+"\n")
fiche.write("minnormal: "+lovalue[3]+"\n")
fiche.write("minrecord: "+lovalue[4]+"\n")
fiche.write("min1ans: "+lovalue[5]+"\n")
#localisation si condition courante
if re.search("CC", fichier) is not None:
ville=re.compile("city: '(.*)',").search(str(soup)).group(1)
longi=re.compile("lon: '(.*)',").search(str(soup)).group(1)
lat=re.compile("lat: '(.*)',").search(str(soup)).group(1)
fiche.write("ville: "+ville+"\n")
fiche.write("lat: "+lat+"\n")
fiche.write("long: "+longi+"\n")
# recherche vent
current_balise=soup.find(id="details")
ventd=re.compile("var d = '(.*)';").search(str(current_balise)).group(1).replace("W", "O")
ventf=re.compile("var s = '(.*)km/h';").search(str(current_balise)).group(1)
fiche.write("direction: "+ventd+"\n")
fiche.write("vitesse: "+ventf+"\n")
#recherche icone
icone=current_balise.select("[class~=icon]")
i=0
for ic in icone:
i=i+1
fiche.write("icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n")
#info conditions générales
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text().replace(" ", "").replace("\n", "")
if re.search(":", inf) is not None:
fiche.write(inf+"\n")
else:
table=soup.find_all('table')
# fiche.write(table[0].prettify())
#recherche icones huit heures
icone=table[0].find_all('div')
i=0
for ic in icone:
i=i+1
fiche.write("icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n")
if i == 8:
break
#donée huit heures
tablevalue=table[0].get_text().split("\n")
i=0
for v in tablevalue:
i=i+1
#pour le débug
# fiche.write(str(i)+" "+v+"\n")
if i >= 18 and i <= 25:
x=x+1
fiche.write("heure"+str(x)+": "+v+"\n")
elif i >= 57 and i <= 64:
x=x+1
fiche.write("temp"+str(x)+": "+v+"\n")
elif i >= 68 and i <= 75:
x=x+1
fiche.write("res"+str(x)+": "+v+"\n")
elif i >= 79 and i <= 86:
x=x+1
fiche.write("humid"+str(x)+": "+v+"\n")
elif i >= 105 and i <= 112:
x=x+1
fiche.write("probpluie"+str(x)+": "+v+"\n")
elif i >= 116 and i <= 123:
x=x+1
fiche.write("probneige"+str(x)+": "+v+"\n")
elif i >= 127 and i <= 134:
x=x+1
fiche.write("probverglas"+str(x)+": "+v+"\n")
elif i >= 153 and i <= 160:
x=x+1
fiche.write("vent"+str(x)+": "+v+"\n")
elif i >= 164 and i <= 171:
x=x+1
fiche.write("uv"+str(x)+": "+v+"\n")
elif i >= 175 and i <= 182:
x=x+1
fiche.write("couvnuage"+str(x)+": "+v+"\n")
elif i >= 186 and i <= 193:
x=x+1
fiche.write("rosée"+str(x)+": "+v+"\n")
else :
x=0
fiche.close()
# Mise en tache de fond
def demonise(entete, id1, id2, huitHeures="non", nbJour=1, interval=5):
while 1 :
debut=time.time()
traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC", '<!-- /#detail-tab-buttons.detail-tab-buttons -->')
if huitHeures=="oui":
traitement(ent+nb1+'/hourly-weather-forecast/'+nb2, repsauv+"/huitHeures", '<!-- /#detail-tab-buttons.detail-tab-buttons -->')
x=0
while x<nbJour:
x=x+1
traitement(ent+nb1+'/daily-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Jour"+str(x), '<!-- /#detail-tab-buttons.detail-tab-buttons -->')
traitement(ent+nb1+'/morning-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Matin"+str(x), '<!-- /#detail-tab-buttons.detail-tab-buttons -->')
traitement(ent+nb1+'/afternoon-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/AM"+str(x), '<!-- /#detail-tab-buttons.detail-tab-buttons -->')
traitement(ent+nb1+'/evening-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Soiree"+str(x), '<!-- /#detail-tab-buttons.detail-tab-buttons -->')
traitement(ent+nb1+'/overnight-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Nuit"+str(x), '<!-- /#detail-tab-buttons.detail-tab-buttons -->')
fin=time.time()
print("temps de mise a jour",fin-debut)
time.sleep(60*interval)
nb1=re.findall('\d+', adressWeb)[0]
nb2=re.findall('\d+', adressWeb)[1]
ent=adressWeb[:adressWeb.find(nb1)]
demonise(ent, nb1, nb2, "oui", 5, 5)
bon j'ai encore un peut de ménage a faire dedans
Dernière modification par Didier-T (Le 06/02/2013, à 11:26)
Hors ligne
#1912 Le 06/02/2013, à 11:35
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
bonjour a tous,
je tenais a vous montrer l'avancé du script en python
çà tombe bien jm'ennuyais
Testé çà roule
Le temps de mise à jour est digne d'une horloge atomique mon petit
Dernière modification par jpdipsy (Le 06/02/2013, à 11:51)
Hors ligne
#1913 Le 06/02/2013, à 12:52
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
ragamatrix a écrit :Peut-on mettre en place les éléments du creationmodules sans être en ligne; pour aller plus vite. J'ai essayé de mettre en hors ligne dans le conky mais ça ne marche pas ?
Hello
Si c'est pour faire des tests sur les creations-modules tu créé un conky basic du style:
# scripts lua à charger ##################################### changer ~/conky par votre rep si vous n'avez pas le mme lua_load ~/conky/Meteo-Lua/scripts/meteo.lua # ces scripts sont obligatoires lua_startup_hook init ~/conky/Meteo-Lua/configs/meteo.cfg # ############################################################# TEXT #### Lancement des scripts récupérant les données météo ## #Important si vous avez un conky lançant déja meteo.lua # utilisez ${lua Meteo_horsligne} #-------------------------------------------------------------- ${lua Meteo_Maj}
sans l'appel à images_meteo.lua donc qui ne se chargera que des mises à jours des données
et un second avec appel à images_meteo.lua (donc celui que tu utilise) mais en mode hors_ligne que tu peux dans ce cas lancer dans des délais plus court voir à chaque fois que tu sauvegarde ce conky.
et pis c'est touteh bin c'est pas tout
tu crée un script bash nommé relance-conky-test (par ex) rendu executable et tu y met
#!/bin/bash # pour le tuer pid=$(ps x |grep "[c]onky -c /lechemin/detonconkyimagetest" | cut -d " " -f2) kill -9 $pid #pour le relancer conky -c /lechemin/detonconkyimagetest
comme çà quand tu fait tes essais du creation-modules un clic sur le relance-conky-test et c'est tout bon
J'ai bien essayé mais lorsque je lance le conky fond ecran rien ne s'affiche
Hors ligne
#1914 Le 06/02/2013, à 13:25
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Didier-T a écrit :bonjour a tous,
je tenais a vous montrer l'avancé du script en python
çà tombe bien jm'ennuyais
Testé çà roule
Le temps de mise à jour est digne d'une horloge atomique mon petit
cool, reste a faire le reste (en plus ce script tournera en tache de fond, du coup on auras l’impression que la mise a jour prend moins d'une seconde)
Hors ligne
#1915 Le 06/02/2013, à 13:59
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
jpdipsy a écrit :Didier-T a écrit :bonjour a tous,
je tenais a vous montrer l'avancé du script en python
çà tombe bien jm'ennuyais
Testé çà roule
Le temps de mise à jour est digne d'une horloge atomique mon petit
cool, reste a faire le reste (en plus ce script tournera en tache de fond, du coup on auras l’impression que la mise a jour prend moins d'une seconde)
J'avais saisie le but de celui là mais je suppose que le reste sera de nouveau en Lua pour garder la souplesse avec conky ?
ou me tromp-je
Hors ligne
#1916 Le 06/02/2013, à 14:01
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Didier-T a écrit :jpdipsy a écrit :çà tombe bien jm'ennuyais
Testé çà roule
Le temps de mise à jour est digne d'une horloge atomique mon petit
cool, reste a faire le reste (en plus ce script tournera en tache de fond, du coup on auras l’impression que la mise a jour prend moins d'une seconde)
J'avais saisie le but de celui là mais je suppose que le reste sera de nouveau en Lua pour garder la souplesse avec conky ?
ou me tromp-je
tu as tout a fait compris, lua pour communiquer avec conky et python pour communiquer avec accuweather
Hors ligne
#1917 Le 06/02/2013, à 14:04
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
@Ragamatrix fait juste pêter ton conky original (à partir de scripts lua à charger # ) et le chemin complet ou il se trouve
Hors ligne
#1918 Le 06/02/2013, à 14:14
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
Bonne nouvelle ! Bravo Didier-T.
J'attends un peu pour les tests, déja que j'ai du mal à mettre les choses en place avec creationmodules...
Enfin je viens de faire un test avec celui-ci en enlevant les transparences de cadres pour changer plus facilement de fond...Quoique...
jpdipsy merci quand-même, j'y arriverais un jour...
aperçu
Dernière modification par ragamatrix (Le 06/02/2013, à 14:14)
Hors ligne
#1919 Le 06/02/2013, à 14:21
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
@Ragamatrix fait juste pêter ton conky original (à partir de scripts lua à charger # ) et le chemin complet ou il se trouve
conky_fond_ecran:
# -- Conky settings -- #
############################### Mode fond ecran
background yes
update_interval 1
double_buffer yes
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
alignment tl
maximum_width 1
gap_x -10
gap_y -30
# scripts lua à charger ##################################### changer ~/conky par votre rep si vous n'avez pas le mme
lua_load ~/.conky/conky40/Meteo-Lua/scripts/meteo.lua # ces quatres scripts sont obligatoires
lua_load ~/.conky/conky40/Meteo-Lua/scripts/images_meteo.lua #
lua_startup_hook init ~/.conky/conky40/Meteo-Lua/configs/meteo.cfg #
lua_shutdown_hook extinction #
#############################################################
TEXT
#### Lancement des scripts récupérant les données météo ##
#Important si vous avez un conky lançant déja meteo.lua
# utilisez ${lua Meteo_horsligne}en ligne###${lua Meteo_Maj}
#--------------------------------------------------------------
#-------------------- changer ~/conky par votre rep si vous n'avez pas le mme
${lua Meteo_horsligne}${lua Images_MAJ ~/.conky/conky40/Meteo-Lua/configs/fondecran.cfg}
###############################################################
# lancement du script qui vérifie à interval régulier que votre fond d'écran
# n'a pas changé (ici 10s à augmenter si vous avez des prob de double affichage)
# il doit être lancé suivit du nom du modules que vous avez édité
# si vous ne changez jamais de fond d'écran vous pouvez vous en passer
${execi 10 ~/.conky/conky40/Meteo-Lua/scripts/fond-gestion.sh verification creationmodules-fondecran}
############## N'ajoutez rien #################################
conky_fond_ecran_test:
# -- Conky settings -- #
############################### Mode fond ecran
background yes
update_interval 1
double_buffer yes
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
alignment tl
maximum_width 1
gap_x -10
gap_y -30
# scripts lua à charger ##################################### changer ~/conky par votre rep si vous n'avez pas le mme
lua_load ~/.conky/conky40/Meteo-Lua/scripts/meteo.lua # ces quatres scripts sont obligatoires
lua_startup_hook init ~/.conky/conky40/Meteo-Lua/configs/meteo.cfg #
lua_shutdown_hook extinction #
#############################################################
TEXT
#### Lancement des scripts récupérant les données météo ##
#Important si vous avez un conky lançant déja meteo.lua
# utilisez ${lua Meteo_horsligne}en ligne###${lua Meteo_Maj}
#--------------------------------------------------------------
#-------------------- changer ~/conky par votre rep si vous n'avez pas le mme
${lua Meteo_Maj}
restart_test.sh:
#!/bin/bash
# pour le tuer
pid=$(ps x |grep "[c]onky -c ~/.conky/conky40/Meteo-Lua/scripts/conky_fond_ecran" | cut -d " " -f2)
kill -9 $pid
#pour le relancer
conky -c ~/.conky/conky40/Meteo-Lua/scripts/conky_fond_ecran
Hors ligne
#1920 Le 06/02/2013, à 14:21
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
Le moins que l'on puisse dire, c'est que le bureau est 'un peu' chargé
On dirait la chambre de mes garçons à la fin d'un week end ! Y'en a de partout
The ship is sinking normally...
Hors ligne
#1921 Le 06/02/2013, à 14:22
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Bonne nouvelle ! Bravo Didier-T.
J'attends un peu pour les tests, déja que j'ai du mal à mettre les choses en place avec creationmodules...
Enfin je viens de faire un test avec celui-ci en enlevant les transparences de cadres pour changer plus facilement de fond...Quoique...
jpdipsy merci quand-même, j'y arriverais un jour...
aperçu
Je crois que la bonne formule est "Je l'aurais un jour ! je l'aurais ......."
Hors ligne
#1922 Le 06/02/2013, à 14:27
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Je suis perdu dans tout ce bintz
Hors ligne
#1923 Le 06/02/2013, à 14:31
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
ragamatrix a écrit :Le moins que l'on puisse dire, c'est que le bureau est 'un peu' chargé
On dirait la chambre de mes garçons à la fin d'un week end ! Y'en a de partout
Et je crois bien qu'il ne nous à pas montré l'autre écran avec les prévisions à cinq minute.
Il doit plus avoir le temps de vérifier dehors avec le temps passé à programmer ......
On rigole
Hors ligne
#1924 Le 06/02/2013, à 14:58
- Didier-T
Re : [Conky] Alternative à weather.com (2)
aller comme c'est la journée du script.
une petite modif qui feras plaisir à ragamatrix, avec sa plus de ville fantôme (enfin j'espère)
j'ai ajouté le passage d'argument au script, comme il est fait pour fonctionner de façon autonome avec le futur meteo.lua, il n'y auras pas de notice livrée avec.
mais pour les testeurs fous que vous êtes voici la façon de passer les arguments
python3 recmeteo.py adressWeb=http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593 repsauv=~/essais huitHeures=non nbJour=5 interval=30
si des arguments ne sont pas passé, ce n'est pas grave, ils ont tous une valeur par défaut.
recmeteo.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Par Didier-T Forum Ubuntu.fr
import urllib.request, os, time, re, sys
from bs4 import BeautifulSoup
homedir = os.path.expanduser('~')
#### initialisation des variables
adressWeb="http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593"
repsauv= "~/essais"
huitHeures="non"
nbJour=1
interval=30
for a in sys.argv:
if re.search("adressWeb=", a) is not None:
adressWeb=re.compile("adressWeb=(.*)").search(a).group(1)
if re.search("repsauv=", a) is not None:
repsauv=re.compile("repsauv=(.*)").search(a).group(1)
if re.search("huitHeures=", a) is not None:
huitHeures=re.compile("huitHeures=(.*)").search(a).group(1)
if re.search("nbJour=", a) is not None:
nbJour=re.compile("nbJour=(.*)").search(a).group(1)
if re.search("interval=", a) is not None:
interval=re.compile("interval=(.*)").search(a).group(1)
nbJour=int(nbJour)
interval=int(interval)
repsauv=repsauv.replace("~", homedir)
#### fin initialisation des variables
#### Fonction de traitement des fichiers
def traitement(adress, fichier):
url=urllib.request.Request(adress)
currentCond=urllib.request.urlopen(url)
soup = BeautifulSoup(currentCond)
currentCond.close()
fiche = open(fichier, "w")
#pour debug
# fiche.write(soup.prettify())
#si autres que huit heures
if re.search("huitHeures", fichier) is None:
#récupération date + historique
if re.search("Jour", fichier) is not None or re.search("CC", fichier) is not None:
histo=soup.find(id="feature-history")
#récupération date
date=histo.select("[class~=lt]")
for d in date:
jour=re.compile("^.* - (.*)/(.*)/(.*)").search(d.get_text())
fiche.write("jour: "+jour.group(1)+"\n")
fiche.write("mois: "+jour.group(2)+"\n")
fiche.write("année: "+jour.group(3)+"\n")
#récupération historique
hi=histo.select("[class~=hi]")
for v in hi:
hivalue=v.get_text().split("\n")
fiche.write("maxjour: "+hivalue[2]+"\n")
fiche.write("maxnormal: "+hivalue[3]+"\n")
fiche.write("maxrecord: "+hivalue[4]+"\n")
fiche.write("max1ans: "+hivalue[5]+"\n")
lo=histo.select("[class~=last]")
for v in lo:
lovalue=v.get_text().split("\n")
fiche.write("minjour: "+lovalue[2]+"\n")
fiche.write("minnormal: "+lovalue[3]+"\n")
fiche.write("minrecord: "+lovalue[4]+"\n")
fiche.write("min1ans: "+lovalue[5]+"\n")
#localisation si condition courante
if re.search("CC", fichier) is not None:
ville=soup.select("[class~=current-city]")[0].get_text().split(",")[0]
longi=re.compile("lon: '(.*)',").search(str(soup)).group(1)
lat=re.compile("lat: '(.*)',").search(str(soup)).group(1)
fiche.write("ville: "+ville+"\n")
fiche.write("lat: "+lat+"\n")
fiche.write("long: "+longi+"\n")
# recherche vent
current_balise=soup.find(id="details")
ventd=re.compile("var d = '(.*)';").search(str(current_balise)).group(1).replace("W", "O")
ventf=re.compile("var s = '(.*)km/h';").search(str(current_balise)).group(1)
fiche.write("direction: "+ventd+"\n")
fiche.write("vitesse: "+ventf+"\n")
#recherche icone
icone=current_balise.select("[class~=icon]")
i=0
for ic in icone:
i=i+1
fiche.write("icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n")
#info conditions générales
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text().replace(" ", "").replace("\n", "")
if re.search(":", inf) is not None:
fiche.write(inf+"\n")
else:
table=soup.find_all('table')
# fiche.write(table[0].prettify())
#recherche icones huit heures
icone=table[0].find_all('div')
i=0
for ic in icone:
i=i+1
fiche.write("icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n")
if i == 8:
break
#donée huit heures
tablevalue=table[0].get_text().split("\n")
i=0
for v in tablevalue:
i=i+1
#pour le débug
# fiche.write(str(i)+" "+v+"\n")
if i >= 18 and i <= 25:
x=x+1
fiche.write("heure"+str(x)+": "+v+"\n")
elif i >= 57 and i <= 64:
x=x+1
fiche.write("temp"+str(x)+": "+v+"\n")
elif i >= 68 and i <= 75:
x=x+1
fiche.write("res"+str(x)+": "+v+"\n")
elif i >= 79 and i <= 86:
x=x+1
fiche.write("humid"+str(x)+": "+v+"\n")
elif i >= 105 and i <= 112:
x=x+1
fiche.write("probpluie"+str(x)+": "+v+"\n")
elif i >= 116 and i <= 123:
x=x+1
fiche.write("probneige"+str(x)+": "+v+"\n")
elif i >= 127 and i <= 134:
x=x+1
fiche.write("probverglas"+str(x)+": "+v+"\n")
elif i >= 153 and i <= 160:
x=x+1
fiche.write("vent"+str(x)+": "+v+"\n")
elif i >= 164 and i <= 171:
x=x+1
fiche.write("uv"+str(x)+": "+v+"\n")
elif i >= 175 and i <= 182:
x=x+1
fiche.write("couvnuage"+str(x)+": "+v+"\n")
elif i >= 186 and i <= 193:
x=x+1
fiche.write("rosée"+str(x)+": "+v+"\n")
else :
x=0
fiche.close()
#### fin Fonction de traitement des fichiers
#### Mise en tache de fond
def demonise(ent, id1, id2, huitHeures, nbJour, interval):
while 1 :
debut=time.time()
traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC")
if huitHeures=="oui":
traitement(ent+nb1+'/hourly-weather-forecast/'+nb2, repsauv+"/huitHeures")
x=0
while x<nbJour:
x=x+1
traitement(ent+nb1+'/daily-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Jour"+str(x))
traitement(ent+nb1+'/morning-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Matin"+str(x))
traitement(ent+nb1+'/afternoon-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/AM"+str(x))
traitement(ent+nb1+'/evening-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Soiree"+str(x))
traitement(ent+nb1+'/overnight-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Nuit"+str(x))
fin=time.time()
print("temps de mise a jour",fin-debut)
time.sleep(60*interval)
#### Lancement du script et initialisation de la tache de fond
nb1=re.findall('\d+', adressWeb)[0]
nb2=re.findall('\d+', adressWeb)[1]
ent=adressWeb[:adressWeb.find(nb1)]
fin=adressWeb.replace(ent+nb1, "")
fin=fin.replace(fin[:fin.find(nb2)]+nb2, "")
nb2=nb2+fin
demonise(ent, nb1, nb2, huitHeures, nbJour, interval)
edit : bien entendu, si vous mettez des chemins avec espace il faut l'entourer de "
par exemple
repsauv="~/essais du jour"
Dernière modification par Didier-T (Le 06/02/2013, à 15:03)
Hors ligne
#1925 Le 06/02/2013, à 15:11
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
Phyllinux a écrit :ragamatrix a écrit :Le moins que l'on puisse dire, c'est que le bureau est 'un peu' chargé
On dirait la chambre de mes garçons à la fin d'un week end ! Y'en a de partoutEt je crois bien qu'il ne nous à pas montré l'autre écran avec les prévisions à cinq minute.
Il doit plus avoir le temps de vérifier dehors avec le temps passé à programmer ......On rigole
Non de ZEUS Qu'est-ce que j'me prends aujourd'hui !
Pawce que jew lew vow bieeenn (accent loreal)
ffff "qu'est-ce qu'on s'marre" comme disait l'autre
Hors ligne