#1951 Le 07/02/2013, à 18:50
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Ne sentez vous pas poindre cette subtil ,discrète et ineluctable odeur de renouveau ? ah c'est bon !!
Ah que c'est bon
j'adore, en effet, c'est bon, très bon même.
on signe ou ???
Hors ligne
#1952 Le 07/02/2013, à 19:09
- Didier-T
Re : [Conky] Alternative à weather.com (2)
@ RayBan10,
essaye avec ceci
function conky_Meteo_Alerte(j)
local n = 0
if j == nil then
j = 1
else
j = tonumber(j)
end
if os.date("%H%M", os.time()) <= InfoJour[j].CoucherSoleilH..InfoJour[j].CoucherSoleilM and os.date("%H%M", os.time()) >= InfoJour[j].LeverSoleilH..InfoJour[j].LeverSoleilM
then
moment = "Jour"
moment1 = tonumber(conditionJour[j].VentRafales)
moment2 = tonumber(conditionJour[j].QNeige)
moment3 = tonumber(conditionJour[j].EVerglas)
moment4 = tonumber(conditionJour[j].Uv)
moment5 = tonumber(conditionJour[j].NivPrec)
moment6 = tonumber(conditionJour[j].QPluie)
else
moment = "Nuit"
moment1 = tonumber(conditionNuit[j].VentRafales)
moment2 = tonumber(conditionNuit[j].QNeige)
moment3 = tonumber(conditionNuit[j].EVerglas)
moment4 = tonumber(conditionNuit[j].Uv)
moment5 = tonumber(conditionNuit[j].NivPrec)
moment6 = tonumber(conditionNuit[j].QPluie)
end
print (moment)
if moment1 >= tonumber(rafale)
then n = n+1000000
end
if moment2 >= tonumber(neige)
then n = n+100000
end
if moment3 >= tonumber(verglas)
then n = n+10000
end
if moment4 >= tonumber(uv)
then n = n+1000
end
if moment5 >= tonumber(preci)
then n = n+100
end
if moment6 >= tonumber(pluie)
then n = n+10
end
if tonumber(conditioncourante.Visibilite) <= tonumber(visibil)
then n = n+1
end
print (moment1)
print (moment2)
print (moment3)
print (moment4)
print (moment5)
print (moment6)
print (Alerte.." Ok : "..n.." "..moment1.." "..rafale)
return n
end
Dernière modification par Didier-T (Le 07/02/2013, à 19:12)
Hors ligne
#1953 Le 07/02/2013, à 21:54
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
@jpdipsy
Bon maintenant le conky fond d'ecran ne se lance plus du tout...
Hors ligne
#1954 Le 08/02/2013, à 07:00
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Hello
Les croissants chauds du matin bonne appetit
Hors ligne
#1955 Le 08/02/2013, à 09:00
- ragamatrix
Re : [Conky] Alternative à weather.com (2)
@jpdipsy
Bon maintenant le conky fond d'ecran ne se lance plus du tout...
Comprends pas aujourd'hui ça fonctionne...
Bravo pour ta démo !
Hors ligne
#1956 Le 08/02/2013, à 11:31
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
ragamatrix a écrit :@jpdipsy
Bon maintenant le conky fond d'ecran ne se lance plus du tout...Comprends pas aujourd'hui ça fonctionne...
Bravo pour ta démo !
Histoire du clignotant Belge certainement (un coup y marche ! un coup y marche pas ! ) le premier qui tape aura raison
Merki
Hors ligne
#1957 Le 09/02/2013, à 06:42
- Didier-T
Re : [Conky] Alternative à weather.com (2)
voici la version définitive (enfin je pense) du script python
le tableau des huit heures est récupéré de manière plus résistante au changement de site
la taille utilisé en mémoire est contenu (~21Mo)
ajout des fenêtres de notification avec option pour les désactivés (notify=oui (defaut) ou non)
temps de mise a jour partielle défini par l'utilisateur, et mise a jour complète toutes les heures, sa évitera de se faire black listé par accuweather
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Par Didier-T Forum Ubuntu.fr
from urllib.request import Request, urlopen
from os import path, system
from time import time, sleep
from re import search, compile, findall
from sys import argv
from gc import collect
from bs4 import BeautifulSoup
Version=1.0
homedir = path.expanduser('~')
#### initialisation des variables
adressWeb="http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593"
repsauv= "~/essais"
huitHeures="oui"
nbJour=1
interval=30
notifi="oui"
for a in argv:
if search("adressWeb=", a) is not None:
adressWeb=compile("adressWeb=(.*)").search(a).group(1)
if search("repsauv=", a) is not None:
repsauv=compile("repsauv=(.*)").search(a).group(1)
if search("huitHeures=", a) is not None:
huitHeures=compile("huitHeures=(.*)").search(a).group(1)
if search("nbJour=", a) is not None:
nbJour=compile("nbJour=(.*)").search(a).group(1)
if search("interval=", a) is not None:
interval=compile("interval=(.*)").search(a).group(1)
if search("notify=", a) is not None:
notifi=compile("notify=(.*)").search(a).group(1)
nbJour=int(nbJour)
interval=int(interval)
repsauv=repsauv.replace("~", homedir)
notifi=str.lower(notifi)
huitHeures=str.lower(huitHeures)
#### fin initialisation des variables
#### Fonction de traitement des fichiers
def traitement(adress, fichier):
url=Request(adress)
currentCond=urlopen(url)
soup = BeautifulSoup(currentCond)
currentCond.close()
# fiche = open(fichier, "w")
#pour debug
# fiche.write(soup.prettify())
#si autres que huit heures
table=soup.find_all('table')
if search("huitHeures", fichier) is None:
# recherche vent
current_balise=soup.find(id="details")
ventd=compile("var d = '(.*)';").search(str(current_balise)).group(1).replace("W", "O")
ventf=compile("var s = '(.*)';").search(str(current_balise)).group(1)
information="direction: "+ventd+"\n"
information=information+"vitesse: "+ventf+"\n"
#info dans l'image
inf=current_balise.select("[class~=info]")
icone=current_balise.select("[class~=icon]")
i=0
#recherche icone
for ic in icone:
i=i+1
information=information+"icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n"
i=0
#récupération date + historique
if search("Jour", fichier) is not None or 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=compile("^.* - (.*)/(.*)/(.*)").search(d.get_text())
information=information+"jour: "+jour.group(1)+"\n"
information=information+"mois: "+jour.group(2)+"\n"
information=information+"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")
information=information+"maxjour: "+hivalue[2]+"\n"
information=information+"maxnormal: "+hivalue[3]+"\n"
information=information+"maxrecord: "+hivalue[4]+"\n"
information=information+"max1ans: "+hivalue[5]+"\n"
lo=histo.select("[class~=last]")
for v in lo:
lovalue=v.get_text().split("\n")
information=information+"minjour: "+lovalue[2]+"\n"
information=information+"minnormal: "+lovalue[3]+"\n"
information=information+"minrecord: "+lovalue[4]+"\n"
information=information+"min1ans: "+lovalue[5]+"\n"
#info dans l'image
if search("Jour", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"Tempjour: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeeljour: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsjour: "+findall('-?\d+', infs[2])[0]+"\n"
infs=inf[1].get_text().split("\n")
information=information+"Tempnuit: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeelnuit: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsnuit: "+findall('-?\d+', infs[2])[0]+"\n"
p=current_balise.find_all('p')
i=0
x=0
for pv in p:
i=i+1
if i==5 or i==10:
x=x+1
information=information+"cond"+str(x)+": "+pv.get_text()+"\n"
#localisation si condition courante
if search("CC", fichier) is not None:
ville=soup.select("[class~=current-city]")[0].get_text().split(",")[0]
longi=compile("lon: '(.*)',").search(str(soup)).group(1)
lat=compile("lat: '(.*)',").search(str(soup)).group(1)
information=information+"ville: "+ville+"\n"
information=information+"lat: "+lat+"\n"
information=information+"long: "+longi+"\n"
#info dans l'image
inf=inf[0].get_text()
cond=inf[:inf.find(findall('\d+', inf)[0])]
inf=inf.replace(cond, "")
infs=inf.split(" ")
information=information+"cond:"+cond+"\n"
information=information+"Temp: "+infs[0]+"\n"
information=information+"RealFeel: "+infs[2]+"\n"
if search("Matin", fichier) is not None or search("AM", fichier) is not None or search("Soiree", fichier) is not None or search("Nuit", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"cond:"+infs[0]+"\n"
information=information+"max: "+infs[1]+"\n"
information=information+"min: "+infs[2].replace("Mn ", "")+"\n"
information=information+"RealFeelmax: "+findall('-?\d+', infs[5])[0]+"\n"
information=information+"RealFeelmin: "+findall('-?\d+', infs[5])[1]+"\n"
#info conditions générales
cc=current_balise.find_all('li')
i=0
for inf in cc:
inf=inf.get_text().replace(" ", "").replace("\n", "")
if search(":", inf) is not None:
i=i+1
if i <= 7:
inf=inf.replace(":", " jour:")
else:
inf=inf.replace(":", " nuit:")
information=information+inf+"\n"
else:
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text().replace(" ", "").replace("\n", "")
if search(":", inf) is not None:
information=information+inf+"\n"
else:
#recherche icones huit heures
rows = table[0].findAll('tr')
information=""
x=0
for tr in rows:
cols = tr.findAll('td')
texte_tr=tr.text.split("\n")[1].replace("\n", "")
i=0
for td in cols:
i=i+1
texte_bu = td.text.replace("\n", "")
# texte_bu = texte_bu.encode('utf-8')
if texte_bu != "" :
if texte_tr == " " and x < len(cols):
information=information+"Heure"+str(i)+": "+texte_bu+"\n"
x=x+1
elif texte_tr != " ":
information=information+texte_tr+str(i)+": "+texte_bu+"\n"
icone=table[0].find_all('div')
i=0
for ic in icone:
i=i+1
ico="icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '')
fin=compile('">(.*)div>').search(ico).group(1)
information=information+ico.replace('">'+fin+'div>', '')+"\n"
if i == 8:
break
fiche = open(fichier, "w")
fiche.write(information)
fiche.close()
collect()
#### fin Fonction de traitement des fichiers
#### Mise en tache de fond
def demonise(ent, id1, id2, huitHeures, nbJour, interval):
start=time()-(60*60)
misajour=1
while 1 :
heure=time()
traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC")
if time()-start >= 60*60:
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()
if notifi == "oui":
if time()-start >= 60*60:
system('notify-send "Météo mise à jour complète"')
else:
system('notify-send "Météo mise à jour Conditions courantes"')
start=heure
pause=60*interval-int(fin-start)
print("temps de mise a jour",fin-start)
collect()
sleep(pause)
#### Lancement du script et initialisation de la tache de fond
nb1=findall('\d+', adressWeb)[0]
nb2=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
print("Version =",Version)
demonise(ent, nb1, nb2, huitHeures, nbJour, interval)
Dernière modification par Didier-T (Le 09/02/2013, à 07:20)
Hors ligne
#1958 Le 09/02/2013, à 06:53
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
voici la version définitive (enfin je pense) du script python
Maintenant il faut prier pour que le site change quelque chose pour mesurer la résistance au changement.
Edit: Ps n'oublie pas de mettre un numéro de version s.t.p çà pourra servir
Dernière modification par jpdipsy (Le 09/02/2013, à 06:59)
Hors ligne
#1959 Le 09/02/2013, à 07:17
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Didier-T a écrit :voici la version définitive (enfin je pense) du script python
Maintenant il faut prier pour que le site change quelque chose pour mesurer la résistance au changement.
Edit: Ps n'oublie pas de mettre un numéro de version s.t.p çà pourra servir
Ok pour la version, moins pour les changement de site (si il pouvait rester tranquille un moment...)
Edit: c'est modifier dans le post précédant
Dernière modification par Didier-T (Le 09/02/2013, à 07:22)
Hors ligne
#1960 Le 09/02/2013, à 07:42
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Ok pour la version, moins pour les changement de site (si il pouvait rester tranquille un moment...)
Edit: c'est modifier dans le post précédant
Merci
tiens des chiffres :
M.a.j complete 20.97
M.a.j partielle 0.68
Y'a pas photo
Hors ligne
#1961 Le 09/02/2013, à 08:13
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Pour combien de jours ?
Hors ligne
#1962 Le 09/02/2013, à 08:15
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Pour combien de jours ?
6 jours huitheures désactivées
Edit: Je vais essayer avec des M.A.J completes à 6 heures
Dernière modification par jpdipsy (Le 09/02/2013, à 08:19)
Hors ligne
#1963 Le 09/02/2013, à 08:27
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Didier-T a écrit :Pour combien de jours ?
6 jours huitheures désactivées
Edit: Je vais essayer avec des M.A.J completes à 6 heures
pourquoi pas, mais il me semble que le site fait ses mise a jour ~ 1 fois par heure (sauf pour les conditions courantes)
Hors ligne
#1964 Le 09/02/2013, à 08:35
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Loulouttes,Loulou
Maintenant que Didier à mis en place les fondements je vais m'occuper à retravailler sur l'affichage des données en fond d'écran.
Conky ne sera plus nécessaire (puisque un démon tourne) juste un script de traitement des données (je ne sais pas encore sous quel langage) et toujours un script de mise en forme.
Donc wait and see
Hors ligne
#1965 Le 09/02/2013, à 08:38
- Didier-T
Re : [Conky] Alternative à weather.com (2)
au fait n'oublie pas de nous donner ton script pour la configuration de la météo, que tu montre sur tes dernières vidéos
edit: pour la récupération des données je te conseille de les récupérer par position, les noms changeant avec la langue de la page météo
Dernière modification par Didier-T (Le 09/02/2013, à 08:40)
Hors ligne
#1966 Le 09/02/2013, à 09:04
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
au fait n'oublie pas de nous donner ton script pour la configuration de la météo, que tu montre sur tes dernières vidéos
edit: pour la récupération des données je te conseille de les récupérer par position, les noms changeant avec la langue de la page météo
Vi bien sur tiens le voilà installrecmeteo
Deux choix pour l'utilisation soit tu le lance sans arguments et il te créer un meteo.py dans .config soit avec argument installrecmeteo meteo-argenteuil (pour avoir possibilité de plusieurs config) la config étant passé en argument à recmeteo (ça c'est que ma vision bien évidement tu vois le truc quoi Ragamatrix pourra acheter un troisième écran).
Attention il est pas terminé j'en suis à l'installe des fichiers.
Edit je ferais les M.A.J au fur et à mesure sur le même lien
reedit : quel buse j'ai oublié pour récuperer la config et les variables dans recmeteo j'utilise ceci :
configfile = '~/.config/meteo.py'
sys.path.append(os.path.dirname(os.path.expanduser(configfile)))
import meteo
#### initialisation des variables
adressWeb=(meteo.adressWeb)
repsauv=(meteo.repsauv)
huitHeures=(meteo.huitHeures)
nbJour=(meteo.nbJour)
interval=(meteo.interval)
notifi=(meteo.notifi)
Mais c'est que du test pour le moment
Dernière modification par jpdipsy (Le 09/02/2013, à 09:19)
Hors ligne
#1967 Le 09/02/2013, à 09:35
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
feuille de route pour installrecmeteo
- installer recmeteo (avec vérification des versions )soit en mode autonome lancé à l'ouverture de session soit pour les utilisateurs de conky lancer par le conky cde pre_exec
- installation des conky pour les utilisateurs de conky
- installation d'autres modes si il y'a lieu
J'ai jusqu'au printemps après c'est dehors ..................
Hors ligne
#1968 Le 09/02/2013, à 11:46
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
@Didier
Vérifie la recup Temp: CC de recmeteo chez moi 2° en place de -2° ( j'ai failli sortir l'huile solaire)
Hors ligne
#1969 Le 10/02/2013, à 02:13
- Didier-T
Re : [Conky] Alternative à weather.com (2)
bien vue jpdipsy, c'est corrigé.
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Par Didier-T Forum Ubuntu.fr
from urllib.request import Request, urlopen
from os import path, system
from time import time, sleep
from re import search, compile, findall
from sys import argv
from gc import collect
from bs4 import BeautifulSoup
Version=1.01
homedir = path.expanduser('~')
#### initialisation des variables
adressWeb="http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593"
repsauv= "~/essais"
huitHeures="oui"
nbJour=1
interval=30
notifi="oui"
for a in argv:
if search("adressWeb=", a) is not None:
adressWeb=compile("adressWeb=(.*)").search(a).group(1)
if search("repsauv=", a) is not None:
repsauv=compile("repsauv=(.*)").search(a).group(1)
if search("huitHeures=", a) is not None:
huitHeures=compile("huitHeures=(.*)").search(a).group(1)
if search("nbJour=", a) is not None:
nbJour=compile("nbJour=(.*)").search(a).group(1)
if search("interval=", a) is not None:
interval=compile("interval=(.*)").search(a).group(1)
if search("notify=", a) is not None:
notifi=compile("notify=(.*)").search(a).group(1)
nbJour=int(nbJour)
interval=int(interval)
repsauv=repsauv.replace("~", homedir)
notifi=str.lower(notifi)
huitHeures=str.lower(huitHeures)
#### fin initialisation des variables
#### Fonction de traitement des fichiers
def traitement(adress, fichier):
url=Request(adress)
currentCond=urlopen(url)
soup = BeautifulSoup(currentCond)
currentCond.close()
# fiche = open(fichier, "w")
#pour debug
# fiche.write(soup.prettify())
#si autres que huit heures
table=soup.find_all('table')
if search("huitHeures", fichier) is None:
# recherche vent
current_balise=soup.find(id="details")
ventd=compile("var d = '(.*)';").search(str(current_balise)).group(1).replace("W", "O")
ventf=compile("var s = '(.*)';").search(str(current_balise)).group(1)
information="direction: "+ventd+"\n"
information=information+"vitesse: "+ventf+"\n"
#info dans l'image
inf=current_balise.select("[class~=info]")
icone=current_balise.select("[class~=icon]")
i=0
#recherche icone
for ic in icone:
i=i+1
information=information+"icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n"
i=0
#récupération date + historique
if search("Jour", fichier) is not None or 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=compile("^.* - (.*)/(.*)/(.*)").search(d.get_text())
information=information+"jour: "+jour.group(1)+"\n"
information=information+"mois: "+jour.group(2)+"\n"
information=information+"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")
information=information+"maxjour: "+hivalue[2]+"\n"
information=information+"maxnormal: "+hivalue[3]+"\n"
information=information+"maxrecord: "+hivalue[4]+"\n"
information=information+"max1ans: "+hivalue[5]+"\n"
lo=histo.select("[class~=last]")
for v in lo:
lovalue=v.get_text().split("\n")
information=information+"minjour: "+lovalue[2]+"\n"
information=information+"minnormal: "+lovalue[3]+"\n"
information=information+"minrecord: "+lovalue[4]+"\n"
information=information+"min1ans: "+lovalue[5]+"\n"
#info dans l'image
if search("Jour", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"Tempjour: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeeljour: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsjour: "+findall('-?\d+', infs[2])[0]+"\n"
infs=inf[1].get_text().split("\n")
information=information+"Tempnuit: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeelnuit: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsnuit: "+findall('-?\d+', infs[2])[0]+"\n"
p=current_balise.find_all('p')
i=0
x=0
for pv in p:
i=i+1
if i==5 or i==10:
x=x+1
information=information+"cond"+str(x)+": "+pv.get_text()+"\n"
#localisation si condition courante
if search("CC", fichier) is not None:
ville=soup.select("[class~=current-city]")[0].get_text().split(",")[0]
longi=compile("lon: '(.*)',").search(str(soup)).group(1)
lat=compile("lat: '(.*)',").search(str(soup)).group(1)
information=information+"ville: "+ville+"\n"
information=information+"lat: "+lat+"\n"
information=information+"long: "+longi+"\n"
#info dans l'image
inf=inf[0].get_text()
cond=inf[:inf.find(findall('-?\d+', inf)[0])]
inf=inf.replace(cond, "")
infs=inf.split(" ")
information=information+"cond:"+cond+"\n"
information=information+"Temp: "+infs[0]+"\n"
information=information+"RealFeel: "+infs[2]+"\n"
if search("Matin", fichier) is not None or search("AM", fichier) is not None or search("Soiree", fichier) is not None or search("Nuit", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"cond:"+infs[0]+"\n"
information=information+"max: "+infs[1]+"\n"
information=information+"min: "+infs[2].replace("Mn ", "")+"\n"
information=information+"RealFeelmax: "+findall('-?\d+', infs[5])[0]+"\n"
information=information+"RealFeelmin: "+findall('-?\d+', infs[5])[1]+"\n"
#info conditions générales
cc=current_balise.find_all('li')
i=0
for inf in cc:
inf=inf.get_text().replace(" ", "").replace("\n", "")
if search(":", inf) is not None:
i=i+1
if i <= 7:
inf=inf.replace(":", " jour:")
else:
inf=inf.replace(":", " nuit:")
information=information+inf+"\n"
else:
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text().replace(" ", "").replace("\n", "")
if search(":", inf) is not None:
information=information+inf+"\n"
else:
#recherche icones huit heures
rows = table[0].findAll('tr')
information=""
x=0
for tr in rows:
cols = tr.findAll('td')
texte_tr=tr.text.split("\n")[1].replace("\n", "")
i=0
for td in cols:
i=i+1
texte_bu = td.text.replace("\n", "")
# texte_bu = texte_bu.encode('utf-8')
if texte_bu != "" :
if texte_tr == " " and x < len(cols):
information=information+"Heure"+str(i)+": "+texte_bu+"\n"
x=x+1
elif texte_tr != " ":
information=information+texte_tr+str(i)+": "+texte_bu+"\n"
icone=table[0].find_all('div')
i=0
for ic in icone:
i=i+1
ico="icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '')
fin=compile('">(.*)div>').search(ico).group(1)
information=information+ico.replace('">'+fin+'div>', '')+"\n"
if i == 8:
break
fiche = open(fichier, "w")
fiche.write(information)
fiche.close()
collect()
#### fin Fonction de traitement des fichiers
#### Mise en tache de fond
def demonise(ent, id1, id2, huitHeures, nbJour, interval):
start=time()-(60*60)
misajour=1
while 1 :
heure=time()
traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC")
if huitHeures=="oui":
traitement(ent+nb1+'/hourly-weather-forecast/'+nb2, repsauv+"/huitHeures")
if time()-start >= 60*60:
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()
if notifi == "oui":
if time()-start >= 60*60:
system('notify-send "Météo mise à jour complète"')
else:
system('notify-send "Météo mise à jour Conditions courantes"')
start=heure
pause=60*interval-int(fin-start)
print("temps de mise a jour",fin-start)
collect()
sleep(pause)
#### Lancement du script et initialisation de la tache de fond
nb1=findall('\d+', adressWeb)[0]
nb2=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
print("Version =", Version)
demonise(ent, nb1, nb2, huitHeures, nbJour, interval)
Edit: j'en ai profité pour modifier le temps entre deux mise a jour pour les huit heures (en même temps que les conditions courantes)
Dernière modification par Didier-T (Le 10/02/2013, à 02:41)
Hors ligne
#1970 Le 10/02/2013, à 10:25
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Edit: j'en ai profité pour modifier le temps entre deux mise a jour pour les huit heures (en même temps que les conditions courantes)
Merci
Et quid des heures de lever/coucher je crois que c'est tout ce qui manque
Hors ligne
#1971 Le 10/02/2013, à 12:24
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Et quid des heures de lever/coucher je crois que c'est tout ce qui manque
oups, je me disais bien aussi que c'était trop beau pour être vrai.
Hors ligne
#1972 Le 10/02/2013, à 14:06
- Didier-T
Re : [Conky] Alternative à weather.com (2)
c'est modifié,
ajout heure lever, coucher + durée pour le soleil et la lune
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Par Didier-T Forum Ubuntu.fr
from urllib.request import Request, urlopen
from os import path, system
from time import time, sleep
from re import search, compile, findall
from sys import argv
from gc import collect
from bs4 import BeautifulSoup
Version=1.02
homedir = 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
notifi="oui"
for a in argv:
if search("adressWeb=", a) is not None:
adressWeb=compile("adressWeb=(.*)").search(a).group(1)
if search("repsauv=", a) is not None:
repsauv=compile("repsauv=(.*)").search(a).group(1)
if search("huitHeures=", a) is not None:
huitHeures=compile("huitHeures=(.*)").search(a).group(1)
if search("nbJour=", a) is not None:
nbJour=compile("nbJour=(.*)").search(a).group(1)
if search("interval=", a) is not None:
interval=compile("interval=(.*)").search(a).group(1)
if search("notify=", a) is not None:
notifi=compile("notify=(.*)").search(a).group(1)
nbJour=int(nbJour)
interval=int(interval)
repsauv=repsauv.replace("~", homedir)
notifi=str.lower(notifi)
huitHeures=str.lower(huitHeures)
#### fin initialisation des variables
#### Fonction de traitement des fichiers
def traitement(adress, fichier):
url=Request(adress)
currentCond=urlopen(url)
soup = BeautifulSoup(currentCond)
currentCond.close()
# fiche = open(fichier, "w")
#pour debug
# fiche.write(soup.prettify())
#si autres que huit heures
table=soup.find_all('table')
information=""
if search("huitHeures", fichier) is None:
# recherche vent
current_balise=soup.find(id="details")
divs=current_balise.select("[class~=wind-box-lg]")
if len(divs) == 0:
divs=current_balise.select("[class~=wind-box-sm]")
i=0
for div in divs:
i=i+1
ventd=compile("var d = '(.*)';").search(str(div)).group(1).replace("W", "O")
ventf=compile("var s = '(.*)';").search(str(div)).group(1)
information=information+"direction"+str(i)+": "+ventd+"\n"
information=information+"vitesse"+str(i)+": "+ventf+"\n"
#info dans l'image
inf=current_balise.select("[class~=info]")
icone=current_balise.select("[class~=icon]")
i=0
#recherche icone
for ic in icone:
i=i+1
information=information+"icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n"
i=0
#récupération date + historique
if search("Jour", fichier) is not None or 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=compile("^.* - (.*)/(.*)/(.*)").search(d.get_text())
information=information+"jour: "+jour.group(1)+"\n"
information=information+"mois: "+jour.group(2)+"\n"
information=information+"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")
information=information+"maxjour: "+hivalue[2]+"\n"
information=information+"maxnormal: "+hivalue[3]+"\n"
information=information+"maxrecord: "+hivalue[4]+"\n"
information=information+"max1ans: "+hivalue[5]+"\n"
lo=histo.select("[class~=last]")
for v in lo:
lovalue=v.get_text().split("\n")
information=information+"minjour: "+lovalue[2]+"\n"
information=information+"minnormal: "+lovalue[3]+"\n"
information=information+"minrecord: "+lovalue[4]+"\n"
information=information+"min1ans: "+lovalue[5]+"\n"
#info dans l'image
if search("Jour", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"Tempjour: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeeljour: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsjour: "+findall('-?\d+', infs[2])[0]+"\n"
infs=inf[1].get_text().split("\n")
information=information+"Tempnuit: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeelnuit: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsnuit: "+findall('-?\d+', infs[2])[0]+"\n"
lever_coucher=soup.select("[class~=time-period]")
i=0
for p in lever_coucher:
spans=p.find_all('span')
i=i+1
x=0
for span in spans:
span=span.get_text()
if len(findall('\d+', span)) > 0:
x=x+1
if i == 1:
span_nom="Soleil "
else:
span_nom="Lune "
if x == 1:
information=information+span_nom+"lever: "+span+"\n"
elif x == 2:
information=information+span_nom+"durée: "+span+"\n"
else :
information=information+span_nom+"coucher: "+span+"\n"
p=current_balise.find_all('p')
i=0
x=0
for pv in p:
i=i+1
if i==5 or i==10:
x=x+1
information=information+"cond"+str(x)+": "+pv.get_text()+"\n"
#localisation si condition courante
if search("CC", fichier) is not None:
ville=soup.select("[class~=current-city]")[0].get_text().split(",")[0]
longi=compile("lon: '(.*)',").search(str(soup)).group(1)
lat=compile("lat: '(.*)',").search(str(soup)).group(1)
information=information+"ville: "+ville+"\n"
information=information+"lat: "+lat+"\n"
information=information+"long: "+longi+"\n"
#info dans l'image
inf=inf[0].get_text()
cond=inf[:inf.find(findall('-?\d+', inf)[0])]
inf=inf.replace(cond, "")
infs=inf.split(" ")
information=information+"cond:"+cond+"\n"
information=information+"Temp: "+infs[0]+"\n"
information=information+"RealFeel: "+infs[2]+"\n"
if search("Matin", fichier) is not None or search("AM", fichier) is not None or search("Soiree", fichier) is not None or search("Nuit", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"cond:"+infs[0]+"\n"
information=information+"max: "+infs[1]+"\n"
information=information+"min: "+infs[2].replace("Mn ", "")+"\n"
information=information+"RealFeelmax: "+findall('-?\d+', infs[5])[0]+"\n"
information=information+"RealFeelmin: "+findall('-?\d+', infs[5])[1]+"\n"
#info conditions générales
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text()
inf=inf.replace(compile('^ *').search(inf).group(0), "").replace("\n", "")
if search(":", inf) is not None:
information=information+inf+"\n"
else:
i=0
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text()
inf=inf.replace(" ", "").replace("\n", "").replace(" \r", "")
if search(": ", inf) is not None:
i=i+1
print(i)
if i <= 6:
inf=inf.replace(":", " jour:")
else:
inf=inf.replace(":", " nuit:")
information=information+inf+"\n"
else:
#recherche icones huit heures
rows = table[0].findAll('tr')
information=""
x=0
for tr in rows:
cols = tr.findAll('td')
texte_tr=tr.text.split("\n")[1].replace("\n", "")
i=0
for td in cols:
i=i+1
texte_bu = td.text.replace("\n", "")
if texte_bu != "" :
if texte_tr == " " and x < len(cols):
information=information+"Heure"+str(i)+": "+texte_bu+"\n"
x=x+1
elif texte_tr != " ":
information=information+texte_tr+str(i)+": "+texte_bu+"\n"
icone=table[0].find_all('div')
i=0
for ic in icone:
i=i+1
ico="icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '')
fin=compile('">(.*)div>').search(ico).group(1)
information=information+ico.replace('">'+fin+'div>', '')+"\n"
if i == 8:
break
fiche = open(fichier, "w")
# fiche.write(current_balise.prettify())
fiche.write(information)
fiche.close()
collect()
#### fin Fonction de traitement des fichiers
#### Mise en tache de fond
def demonise(ent, id1, id2, huitHeures, nbJour, interval):
start=time()-(60*60)
misajour=1
while 1 :
heure=time()
traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC")
if huitHeures=="oui":
traitement(ent+nb1+'/hourly-weather-forecast/'+nb2, repsauv+"/huitHeures")
if time()-start >= 60*60:
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()
if notifi == "oui":
if time()-start >= 60*60:
system('notify-send "Météo mise à jour complète"')
else:
system('notify-send "Météo mise à jour Conditions courantes"')
start=heure
pause=60*interval-int(fin-start)
print("temps de mise a jour",fin-start)
collect()
sleep(pause)
#### Lancement du script et initialisation de la tache de fond
nb1=findall('\d+', adressWeb)[0]
nb2=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
print("Version =", Version)
demonise(ent, nb1, nb2, huitHeures, nbJour, interval)
Edit: infos compacté dans retour jour
Dernière modification par Didier-T (Le 10/02/2013, à 15:34)
Hors ligne
#1973 Le 10/02/2013, à 18:08
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
@Didier
if search(": ", inf) is not None:
i=i+1
print(i) <------------------------------------------------------------------
if i <= 6:
inf=inf.replace(":", " jour:")
else:
"I'm an alien I'm a legal alien
I'm an debug code in recmeteo"
Hors ligne
#1974 Le 10/02/2013, à 18:11
- Didier-T
Re : [Conky] Alternative à weather.com (2)
oups, j'étais persuadé d'avoir viré ce print
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Par Didier-T Forum Ubuntu.fr
from urllib.request import Request, urlopen
from os import path, system
from time import time, sleep
from re import search, compile, findall
from sys import argv
from gc import collect
from bs4 import BeautifulSoup
Version=1.03
homedir = path.expanduser('~')
#### initialisation des variables
adressWeb="http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593"
repsauv= "~/essais"
huitHeures="oui"
nbJour=1
interval=30
notifi="oui"
for a in argv:
if search("adressWeb=", a) is not None:
adressWeb=compile("adressWeb=(.*)").search(a).group(1)
if search("repsauv=", a) is not None:
repsauv=compile("repsauv=(.*)").search(a).group(1)
if search("huitHeures=", a) is not None:
huitHeures=compile("huitHeures=(.*)").search(a).group(1)
if search("nbJour=", a) is not None:
nbJour=compile("nbJour=(.*)").search(a).group(1)
if search("interval=", a) is not None:
interval=compile("interval=(.*)").search(a).group(1)
if search("notify=", a) is not None:
notifi=compile("notify=(.*)").search(a).group(1)
nbJour=int(nbJour)
interval=int(interval)
repsauv=repsauv.replace("~", homedir)
notifi=str.lower(notifi)
huitHeures=str.lower(huitHeures)
#### fin initialisation des variables
#### Fonction de traitement des fichiers
def traitement(adress, fichier):
url=Request(adress)
currentCond=urlopen(url)
soup = BeautifulSoup(currentCond)
currentCond.close()
# fiche = open(fichier, "w")
#pour debug
# fiche.write(soup.prettify())
#si autres que huit heures
table=soup.find_all('table')
information=""
if search("huitHeures", fichier) is None:
# recherche vent
current_balise=soup.find(id="details")
divs=current_balise.select("[class~=wind-box-lg]")
if len(divs) == 0:
divs=current_balise.select("[class~=wind-box-sm]")
i=0
for div in divs:
i=i+1
ventd=compile("var d = '(.*)';").search(str(div)).group(1).replace("W", "O")
ventf=compile("var s = '(.*)';").search(str(div)).group(1)
information=information+"direction"+str(i)+": "+ventd+"\n"
information=information+"vitesse"+str(i)+": "+ventf+"\n"
#info dans l'image
inf=current_balise.select("[class~=info]")
icone=current_balise.select("[class~=icon]")
i=0
#recherche icone
for ic in icone:
i=i+1
information=information+"icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '').replace('"></div>', '')+"\n"
i=0
#récupération date + historique
if search("Jour", fichier) is not None or 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=compile("^.* - (.*)/(.*)/(.*)").search(d.get_text())
information=information+"jour: "+jour.group(1)+"\n"
information=information+"mois: "+jour.group(2)+"\n"
information=information+"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")
information=information+"maxjour: "+hivalue[2]+"\n"
information=information+"maxnormal: "+hivalue[3]+"\n"
information=information+"maxrecord: "+hivalue[4]+"\n"
information=information+"max1ans: "+hivalue[5]+"\n"
lo=histo.select("[class~=last]")
for v in lo:
lovalue=v.get_text().split("\n")
information=information+"minjour: "+lovalue[2]+"\n"
information=information+"minnormal: "+lovalue[3]+"\n"
information=information+"minrecord: "+lovalue[4]+"\n"
information=information+"min1ans: "+lovalue[5]+"\n"
#info dans l'image
if search("Jour", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"Tempjour: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeeljour: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsjour: "+findall('-?\d+', infs[2])[0]+"\n"
infs=inf[1].get_text().split("\n")
information=information+"Tempnuit: "+findall('-?\d+', infs[0])[0]+"\n"
information=information+"RealFeelnuit: "+findall('-?\d+', infs[1])[0]+"\n"
information=information+"Précipitationsnuit: "+findall('-?\d+', infs[2])[0]+"\n"
lever_coucher=soup.select("[class~=time-period]")
i=0
for p in lever_coucher:
spans=p.find_all('span')
i=i+1
x=0
for span in spans:
span=span.get_text()
if len(findall('\d+', span)) > 0:
x=x+1
if i == 1:
span_nom="Soleil "
else:
span_nom="Lune "
if x == 1:
information=information+span_nom+"lever: "+span+"\n"
elif x == 2:
information=information+span_nom+"durée: "+span+"\n"
else :
information=information+span_nom+"coucher: "+span+"\n"
p=current_balise.find_all('p')
i=0
x=0
for pv in p:
i=i+1
if i==5 or i==10:
x=x+1
information=information+"cond"+str(x)+": "+pv.get_text()+"\n"
#localisation si condition courante
if search("CC", fichier) is not None:
ville=soup.select("[class~=current-city]")[0].get_text().split(",")[0]
longi=compile("lon: '(.*)',").search(str(soup)).group(1)
lat=compile("lat: '(.*)',").search(str(soup)).group(1)
information=information+"ville: "+ville+"\n"
information=information+"lat: "+lat+"\n"
information=information+"long: "+longi+"\n"
#info dans l'image
inf=inf[0].get_text()
cond=inf[:inf.find(findall('-?\d+', inf)[0])]
inf=inf.replace(cond, "")
infs=inf.split(" ")
information=information+"cond:"+cond+"\n"
information=information+"Temp: "+infs[0]+"\n"
information=information+"RealFeel: "+infs[2]+"\n"
if search("Matin", fichier) is not None or search("AM", fichier) is not None or search("Soiree", fichier) is not None or search("Nuit", fichier) is not None:
infs=inf[0].get_text().split("\n")
information=information+"cond:"+infs[0]+"\n"
information=information+"max: "+infs[1]+"\n"
information=information+"min: "+infs[2].replace("Mn ", "")+"\n"
information=information+"RealFeelmax: "+findall('-?\d+', infs[5])[0]+"\n"
information=information+"RealFeelmin: "+findall('-?\d+', infs[5])[1]+"\n"
#info conditions générales
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text()
inf=inf.replace(compile('^ *').search(inf).group(0), "").replace("\n", "")
if search(":", inf) is not None:
information=information+inf+"\n"
else:
i=0
cc=current_balise.find_all('li')
for inf in cc:
inf=inf.get_text()
inf=inf.replace(" ", "").replace("\n", "").replace(" \r", "")
if search(": ", inf) is not None:
i=i+1
if i <= 6:
inf=inf.replace(":", " jour:")
else:
inf=inf.replace(":", " nuit:")
information=information+inf+"\n"
else:
#recherche icones huit heures
rows = table[0].findAll('tr')
information=""
x=0
for tr in rows:
cols = tr.findAll('td')
texte_tr=tr.text.split("\n")[1].replace("\n", "")
i=0
for td in cols:
i=i+1
texte_bu = td.text.replace("\n", "")
if texte_bu != "" :
if texte_tr == " " and x < len(cols):
information=information+"Heure"+str(i)+": "+texte_bu+"\n"
x=x+1
elif texte_tr != " ":
information=information+texte_tr+str(i)+": "+texte_bu+"\n"
icone=table[0].find_all('div')
i=0
for ic in icone:
i=i+1
ico="icone"+str(i)+": "+str(ic).replace('<div class="icon i-', '')
fin=compile('">(.*)div>').search(ico).group(1)
information=information+ico.replace('">'+fin+'div>', '')+"\n"
if i == 8:
break
fiche = open(fichier, "w")
# fiche.write(current_balise.prettify())
fiche.write(information)
fiche.close()
collect()
#### fin Fonction de traitement des fichiers
#### Mise en tache de fond
def demonise(ent, id1, id2, huitHeures, nbJour, interval):
start=time()-(60*60)
misajour=1
while 1 :
heure=time()
if huitHeures=="oui":
traitement(ent+nb1+'/hourly-weather-forecast/'+nb2, repsauv+"/huitHeures")
if time()-start >= 60*60:
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()
if notifi == "oui":
if time()-start >= 60*60:
system('notify-send "Météo mise à jour complète"')
else:
system('notify-send "Météo mise à jour Conditions courantes"')
traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC")
start=heure
pause=60*interval-int(fin-start)
print("temps de mise a jour",fin-start)
collect()
sleep(pause)
#### Lancement du script et initialisation de la tache de fond
nb1=findall('\d+', adressWeb)[0]
nb2=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
print("Version =", Version)
demonise(ent, nb1, nb2, huitHeures, nbJour, interval)
Hors ligne
#1975 Le 11/02/2013, à 06:55
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
@Didier
remeteo
Est-ce normal que certaines données sur les prév de tous poil n'ait pas leurs unités de mesure ex : RealFeelnuit: -3
edit : sur CC et Huitheures pas de souci
Dernière modification par jpdipsy (Le 11/02/2013, à 07:01)
Hors ligne