#2226 Le 22/02/2013, à 16:28
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
Je me demande si je vais pas virer la notification, trop de soucis, pour un intérêt limité (enfin a mon gout)
Je ne contredirai pas sur ce point
The ship is sinking normally...
Hors ligne
#2227 Le 22/02/2013, à 16:30
- Ehcor8
Re : [Conky] Alternative à weather.com (2)
Bonjour, Encore un grand merci à tous pour votre travail. Tout fonctionne à merveille (Ubuntu 12.10 avec Caïro dock) avec recmeteo.py 1.12 et toutes les amélios que vous y apportez. J'essaie d'y apporter une petite modification de fond de base en y mettant l'image temps réel de radar-gost en .gif à partir du script "meteo" pour lui dire de prendre en "fond base" cette image radar-ghost actualisée en me temps que "macomposition.sh" mais ce n'est pas évident car je ne sais pas programmer mais j'apprends qques notions avec vous.
Lien vers image de mon bureau :
https://www.dropbox.com/s/pm9q96qj8427d … 6%3A30.png
Hors ligne
#2228 Le 22/02/2013, à 17:08
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
@ jpdipsy :
Je pense que pour refaire tous mes modules, cela va m'occuper pendant de nombreuses heures durant les semaines à venir !
Je découvre de nouvelles embûches à chaque module!
Pb actuel : Sur la lune. Tu fais appel à l'affichage de l'éphémeride (Gibbeuse ascendante, pleine lune, premier quartier, etc...)
Pour cela, tu extrais la ligne qui y correspond dans le fichier lune.txt
Moi je veux faire apparaître le % de lune visible. Et le problème, c'est que dans ce fichier lune.txt, les caractères accentués ne sont pas gérés, et le é est extrait en 'é'. Et du coup, à l'affichage, au lieu de Visibilité:, je vois écrit Visibilit´: C'est pas terrible... Mais en revanche, je ne sais pas comment récupérer les caractères accentués.
C'est tout ..... pour le moment, et il me reste encore au moins 10 modules à refaire !
The ship is sinking normally...
Hors ligne
#2229 Le 22/02/2013, à 17:21
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Bon j'ai mis à jour.
Ne concerne que start-recmeteo et meteo
maintenant vous pouvez tuer et rafraichir sans prob explication dans entête de start-recmeteo
@Didier t'as raison
@Phyllinux t'as raison
@Carpediem bravo
@Ehcor bravo
@Ragamatrix bisou
Merci salut bon W.E .................
@Phyllinux pour le moment tout est dans météo pour les modules "pré-machés" c'est mon choix et pis c'est tout (bien sur que ce sera paramétrable)
Pour xplanetFX normalement ça fonctionne tu reste comme tu étais hier.Attention le passage entre les deux fonds va être un peu long (pour le moment) je verrai ça cette semaine là il faut vraiment que je finisse le principal avec une doc .
A+
Hors ligne
#2230 Le 22/02/2013, à 17:45
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
J'ai écrasé le start-recmeteo.sh par le nouveau et ..... il ne se passe plus rien ! Plus aucun lancement.
Je craque
phyllinux@Ubuntu-Unity:~$ cd Accuweather
phyllinux@Ubuntu-Unity:~/Accuweather$ dir
configs fonds icones scripts start-recmeteo.sh~
docs fontes sauvegardes start-recmeteo.sh verif_dépendances.sh
phyllinux@Ubuntu-Unity:~/Accuweather$ sh start-recmeteo.sh
start-recmeteo.sh: 44: start-recmeteo.sh: source: not found
Traceback (most recent call last):
File "/home/phyllinux/Accuweather/scripts/recmeteo.py", line 60, in <module>
nbJour=int(nbJour)
ValueError: invalid literal for int() with base 10: ''
phyllinux@Ubuntu-Unity:~/Accuweather$
Dernière modification par Phyllinux (Le 22/02/2013, à 18:06)
The ship is sinking normally...
Hors ligne
#2231 Le 22/02/2013, à 18:41
- razorback1010
Re : [Conky] Alternative à weather.com (2)
J'ai écrasé le start-recmeteo.sh par le nouveau et ..... il ne se passe plus rien ! Plus aucun lancement.
Je craquephyllinux@Ubuntu-Unity:~$ cd Accuweather phyllinux@Ubuntu-Unity:~/Accuweather$ dir configs fonds icones scripts start-recmeteo.sh~ docs fontes sauvegardes start-recmeteo.sh verif_dépendances.sh phyllinux@Ubuntu-Unity:~/Accuweather$ sh start-recmeteo.sh start-recmeteo.sh: 44: start-recmeteo.sh: source: not found Traceback (most recent call last): File "/home/phyllinux/Accuweather/scripts/recmeteo.py", line 60, in <module> nbJour=int(nbJour) ValueError: invalid literal for int() with base 10: '' phyllinux@Ubuntu-Unity:~/Accuweather$
Bonsoir,
christophe@christophe-desktop:~$ cd Accuweather
christophe@christophe-desktop:~/Accuweather$ sh start-recmeteo.sh
start-recmeteo.sh: 44: start-recmeteo.sh: source: not found
Traceback (most recent call last):
File "/home/christophe/Accuweather/scripts/recmeteo.py", line 60, in <module>
nbJour=int(nbJour)
ValueError: invalid literal for int() with base 10: ''
christophe@christophe-desktop:~/Accuweather$
Comme on peut le constater, exactement le même message d'erreur, à la virgule près...
Hors ligne
#2232 Le 22/02/2013, à 19:11
- maan
Re : [Conky] Alternative à weather.com (2)
bonsoir à tous,
Bon mon conky affiche tous mais ne se met pas à jour ...... j'ai l'impression que recmeteo ne se lance pas !!!
┌─( maan ) - ( 3.2.0-38-generic ) - ( ~/.conky/conky23 )
└─>
Conky: desktop window (1400003) is subwindow of root window (158)
Conky: window type - desktop
Conky: drawing to created window (0x3400001)
Conky: drawing to double buffer
Conky: llua_do_call: function conky_init execution failed: /home/maan/.conky/conky23/conky/script/meteo2.lua:310: attempt to concatenate global 'nbFoisHuit' (a nil value)
Condition courante Ok
Prévision 1 Ok
Matin 1 Ok
Apres Midi 1 Ok
Soiree 1 Ok
Nuit 1 Ok
Prévision 2 Ok
Matin 2 Ok
Apres Midi 2 Ok
Soiree 2 Ok
Nuit 2 Ok
Prévision 3 Ok
Matin 3 Ok
Apres Midi 3 Ok
Soiree 3 Ok
Nuit 3 Ok
Prévision 4 Ok
Matin 4 Ok
Apres Midi 4 Ok
Soiree 4 Ok
Nuit 4 Ok
Prévision 5 Ok
Matin 5 Ok
Apres Midi 5 Ok
Soiree 5 Ok
Nuit 5 Ok
lunaison Ok
Conky: llua_do_call: function conky_Meteo_enligne execution failed: /home/maan/.conky/conky23/conky/script/meteo2.lua:1612: attempt to concatenate upvalue 'Rep' (a nil value)
Et après ça reste ainsi, j'ai laisser ainsi près d'une heure , mais aucun miracle ne c'est produit ....
Dernière modification par maan (Le 22/02/2013, à 19:12)
Ubuntu_studio 14.04
Hors ligne
#2233 Le 22/02/2013, à 19:16
- Didier-T
Re : [Conky] Alternative à weather.com (2)
bonsoir à tous,
Bon mon conky affiche tous mais ne se met pas à jour ...... j'ai l'impression que recmeteo ne se lance pas !!!
┌─( maan ) - ( 3.2.0-38-generic ) - ( ~/.conky/conky23 ) └─> Conky: desktop window (1400003) is subwindow of root window (158) Conky: window type - desktop Conky: drawing to created window (0x3400001) Conky: drawing to double buffer Conky: llua_do_call: function conky_init execution failed: /home/maan/.conky/conky23/conky/script/meteo2.lua:310: attempt to concatenate global 'nbFoisHuit' (a nil value) Condition courante Ok Prévision 1 Ok Matin 1 Ok Apres Midi 1 Ok Soiree 1 Ok Nuit 1 Ok Prévision 2 Ok Matin 2 Ok Apres Midi 2 Ok Soiree 2 Ok Nuit 2 Ok Prévision 3 Ok Matin 3 Ok Apres Midi 3 Ok Soiree 3 Ok Nuit 3 Ok Prévision 4 Ok Matin 4 Ok Apres Midi 4 Ok Soiree 4 Ok Nuit 4 Ok Prévision 5 Ok Matin 5 Ok Apres Midi 5 Ok Soiree 5 Ok Nuit 5 Ok lunaison Ok Conky: llua_do_call: function conky_Meteo_enligne execution failed: /home/maan/.conky/conky23/conky/script/meteo2.lua:1612: attempt to concatenate upvalue 'Rep' (a nil value)
Et après ça reste ainsi, j'ai laisser ainsi près d'une heure , mais aucun miracle ne c'est produit ....
tu n'as pas mis a jour ton meteo.cfg avec le reste, il manque nbFoisHuit
Hors ligne
#2234 Le 22/02/2013, à 19:23
- maan
Re : [Conky] Alternative à weather.com (2)
purée pourtant j'avais regarder si rien n'avais changer avec la nouvelle version :mad:
Je suis .........
Merci Didier
Ubuntu_studio 14.04
Hors ligne
#2235 Le 22/02/2013, à 19:27
- Didier-T
Re : [Conky] Alternative à weather.com (2)
J'ai écrasé le start-recmeteo.sh par le nouveau et ..... il ne se passe plus rien ! Plus aucun lancement.
Je craquephyllinux@Ubuntu-Unity:~$ cd Accuweather phyllinux@Ubuntu-Unity:~/Accuweather$ dir configs fonds icones scripts start-recmeteo.sh~ docs fontes sauvegardes start-recmeteo.sh verif_dépendances.sh phyllinux@Ubuntu-Unity:~/Accuweather$ sh start-recmeteo.sh start-recmeteo.sh: 44: start-recmeteo.sh: source: not found Traceback (most recent call last): File "/home/phyllinux/Accuweather/scripts/recmeteo.py", line 60, in <module> nbJour=int(nbJour) ValueError: invalid literal for int() with base 10: '' phyllinux@Ubuntu-Unity:~/Accuweather$
aller un peut de débogage, on vas ajouter deux lignes autour de la ligne 44
echo $meteo_rep/configs/$meteo_config
source $meteo_rep/configs/$meteo_config
echo $nbJour
Dernière modification par Didier-T (Le 22/02/2013, à 19:33)
Hors ligne
#2236 Le 22/02/2013, à 19:48
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
J'ai écrasé le start-recmeteo.sh par le nouveau et ..... il ne se passe plus rien ! Plus aucun lancement.
Comme on peut le constater, exactement le même message d'erreur, à la virgule près...
Parce que vous êtes jumeaux et que vous faîtes la même erreur.
Maxime "Point de sh tu utiliseras et meilleurs ce sera!" : ou alors sh -c "lefichier.bash"
Pourquoi on se décarcasse j'vous jure
re bon we
Hors ligne
#2237 Le 22/02/2013, à 19:59
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
Comme quoi nous avons la même approche du pb.
Mais je ne vois toujours pas comment lancer recmeteo sans faire appel à un exécutable...
The ship is sinking normally...
Hors ligne
#2238 Le 22/02/2013, à 20:10
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Comme quoi nous avons la même approche du pb.
Mais je ne vois toujours pas comment lancer recmeteo sans faire appel à un exécutable...
Il est executable "/home/tonrep/Accuweather/start-recmeteo.sh"
Hors ligne
#2239 Le 22/02/2013, à 20:14
- Phyllinux
Re : [Conky] Alternative à weather.com (2)
Phyllinux a écrit :Comme quoi nous avons la même approche du pb.
Mais je ne vois toujours pas comment lancer recmeteo sans faire appel à un exécutable...Il est executable "/home/tonrep/Accuweather/start-recmeteo.sh"
Et cela me renvoie : start-recmeto.sh: not found
The ship is sinking normally...
Hors ligne
#2240 Le 22/02/2013, à 20:49
- Didier-T
Re : [Conky] Alternative à weather.com (2)
essaye sa
./start-recmeteo.sh
attention le . est important (bien sure il faut être dans le bon répertoire)
Hors ligne
#2241 Le 22/02/2013, à 20:56
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
jpdipsy a écrit :Phyllinux a écrit :Comme quoi nous avons la même approche du pb.
Mais je ne vois toujours pas comment lancer recmeteo sans faire appel à un exécutable...Il est executable "/home/tonrep/Accuweather/start-recmeteo.sh"
Et cela me renvoie : start-recmeto.sh: not found
Soit il s'est fait la malle soit il est plus executable
dans le rep
ls -l start-recmeteo.sh -----> -rw-rw-r-- 1 pas good
chmod +x start-recmeteo.sh
ls -l start-recmeteo.sh -------> -rwxrwxr-x 1 hummmmmmmm
réessayer
et si tu clic dessus puis
ps ux | grep [r]ecmeteo le résultat
sinon je vois pas
PS ce fichier peut être mis n'importe ou ce qui est important c'est
rep_base=~/Accuweather # le rep ou se trouvent les fichiers
config=defaut.cfg # le fichier de cfg par défaut
dans le fichier
Dernière modification par jpdipsy (Le 22/02/2013, à 20:58)
Hors ligne
#2242 Le 23/02/2013, à 06:37
- razorback1010
Re : [Conky] Alternative à weather.com (2)
Bon, ce matin, c'est pas mieux qu'hier :
christophe@christophe-desktop:~/Accuweather$ ./start-recmeteo.sh
/home/christophe/Accuweather/configs/defaut.cfg
6
Traceback (most recent call last):
File "/home/christophe/Accuweather/scripts/recmeteo.py", line 65, in <module>
nbFoisHuit=int(nbFoisHuit)
ValueError: invalid literal for int() with base 10: ''
christophe@christophe-desktop:~/Accuweather$
Dans l'initialisation des variables, j'ai bien nbFoisHuit=1, donc pas logique le retour avec la chaîne vide [with base 10: ''], non?
Dans ma folie, je bloque la ligne 65 avec un #, je relance, et voilà le résultat :
christophe@christophe-desktop:~/Accuweather$ ./start-recmeteo.sh
/home/christophe/Accuweather/configs/defaut.cfg
6
Traceback (most recent call last):
File "/home/christophe/Accuweather/scripts/recmeteo.py", line 316, in <module>
import notify2
ImportError: No module named notify2
christophe@christophe-desktop:~/Accuweather$
Ça marchait si bien hier....
Hors ligne
#2243 Le 23/02/2013, à 08:10
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Il te manque notify2.
python3-notify2
Hors ligne
#2244 Le 23/02/2013, à 08:54
- razorback1010
Re : [Conky] Alternative à weather.com (2)
Il te manque notify2.
python3-notify2
Effectivement, j'avais python-notify2 installé, pas python 3. Maintenant, le script se déroule bien jusqu'à l'appel de nbFoisHuit, comme j'ai bloqué l'instruction ligne 65 par un #, c'est normal :
christophe@christophe-desktop:~/Accuweather$ ./start-recmeteo.sh
/home/christophe/Accuweather/configs/defaut.cfg
6
Version = 1.12
Traceback (most recent call last):
File "/home/christophe/Accuweather/scripts/recmeteo.py", line 329, in <module>
demonise(ent, nb1, nb2, huitHeures, nbJour, interval)
File "/home/christophe/Accuweather/scripts/recmeteo.py", line 272, in demonise
while x<nbFoisHuit:
TypeError: unorderable types: int() < str()
christophe@christophe-desktop:~/Accuweather$
ne reste plus qu'à trouver pourquoi nbJour fonctionne et nbFoisHuit pas...
Hors ligne
#2245 Le 23/02/2013, à 09:39
- Didier-T
Re : [Conky] Alternative à weather.com (2)
remplace ton recmeteo.py
par ceci, je crois avoir trouvé d’où proviens le problème
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Par Didier-T Forum Ubuntu.fr
# Ajout notification par jpdipsy Forum Ubuntu.fr
# Ajout notification via DBus par ti_tux Forum Ubuntu.fr
# Ajout création repsauv si inexistant par jpdipsy Forum Ubuntu.fr
from urllib.request import Request, urlopen
from os import path, makedirs, system
from time import time, sleep, strftime, localtime
from re import search, compile, findall
from sys import argv
from gc import collect
from bs4 import BeautifulSoup
Version='1.13'
homedir = path.expanduser('~')
#### initialisation des variables
adressWeb="http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593"
repsauv= "~/essais"
huitHeures="oui"
nbFoisHuit=1
matin="oui"
apresmidi="oui"
soiree="oui"
nuit="oui"
nbJour=1
interval=30
notifi="oui"
externe = None
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)
if search("matin=", a) is not None:
matin=compile("matin=(.*)").search(a).group(1)
if search("apresmidi=", a) is not None:
apresmidi=compile("apresmidi=(.*)").search(a).group(1)
if search("soiree=", a) is not None:
soiree=compile("soiree=(.*)").search(a).group(1)
if search("nuit=", a) is not None:
nuit=compile("nuit=(.*)").search(a).group(1)
if search("externe=", a) is not None:
externe=compile("externe=(.*)").search(a).group(1)
if search("nbFoisHuit=", a) is not None:
nbFoisHuit=compile("nbFoisHuit=(.*)").search(a).group(1)
nbJour=int(nbJour)
interval=int(interval)
repsauv=repsauv.replace("~", homedir)
notifi=str.lower(notifi)
huitHeures=str.lower(huitHeures)
nbFoisHuit=int(nbFoisHuit)
#### fin initialisation des variables
#### Fonction de traitement des fichiers
def traitement(adress, fichier):
# fiche = open(fichier, "w")
#pour debug
current_balise=None
x=1
while current_balise is None:
url=Request(adress)
currentCond=urlopen(url)
soup = BeautifulSoup(currentCond)
currentCond.close()
#si autres que huit heures
table=soup.find_all('table')
current_balise=soup.find(id="details")
if current_balise is None:
sleep(1)
x=x+1
print("problème de récupération de donées\n essais n°"+str(x)+"\npage : "+adress)
# print(current_balise.prettify()+"\n")
information="\n"
if search("huitHeures", fichier) is None:
# recherche vent
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"
elif search("Jour", fichier) is not None:
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 <= 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()
inf=inf.replace(compile('^ *').search(inf).group(0), "").replace("\n", "")
if search(":", inf) is not None:
information=information+inf+"\n"
information=information+str(int(time()))+"\n"
else:
#recherche icones huit heures
rows = table[0].findAll('tr')
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
# td=td.replace(" ", "")
texte_bu = td.text.replace("\n", "").replace(chr(160), "")
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, nbFoisHuit):
dem=time()-(60*60)
misajour=1
while 1 :
heure=time()
if huitHeures=="oui":
x=0
while x<nbFoisHuit:
h=(x*8)+int(strftime('%H', localtime()))
x=x+1
traitement(ent+nb1+'/hourly-weather-forecast/'+nb2+'?hour='+str(h), repsauv+"/huitHeures"+str(x))
print("huitHeures "+str(x)+" Ok")
if time()-dem >= 60*60:
x=0
while x<nbJour:
x=x+1
traitement(ent+nb1+'/daily-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Jour"+str(x))
print("Jour "+str(x)+" Ok")
if matin=="oui":
traitement(ent+nb1+'/morning-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Matin"+str(x))
print("Matin "+str(x)+" Ok")
if apresmidi=="oui":
traitement(ent+nb1+'/afternoon-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/AM"+str(x))
print("AM "+str(x)+" Ok")
if soiree=="oui":
traitement(ent+nb1+'/evening-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Soiree"+str(x))
print("Soiree "+str(x)+" Ok")
if nuit=="oui":
traitement(ent+nb1+'/overnight-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Nuit"+str(x))
print("Nuit "+str(x)+" Ok")
traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC")
print("CC Ok")
if externe is not None:
system(externe)
fin=time()
duree=fin-heure
if notifi == "oui":
if time()-dem >= 60*60:
dem=time()
mess=notify2.Notification('Recmeteo.py v'+Version, 'Météo : mise à jour complète terminée\n en '+str(round(duree,2))+' secondes', 'dialog-information')
else:
mess=notify2.Notification('Recmeteo.py v'+Version, 'Météo : mise à jour partielle terminée\n en '+str(round(duree,2))+' secondes', 'dialog-information')
mess.show()
start=heure
pause=60*interval-int(duree)
print("mise a jour en : "+str(duree))
collect()
sleep(pause)
### Initialiation de DBus pour les notifications
if notifi == "oui":
import notify2
notify2.init('Recmeteo.py')
### Vérification répertoire
if not path.exists(repsauv):
makedirs(repsauv)
#### 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, nbFoisHuit)
Hors ligne
#2246 Le 23/02/2013, à 10:08
- razorback1010
Re : [Conky] Alternative à weather.com (2)
remplace ton recmeteo.py
par ceci, je crois avoir trouvé d’où proviens le problème#! /usr/bin/python3 # -*- coding: utf-8 -*- # Par Didier-T Forum Ubuntu.fr # Ajout notification par jpdipsy Forum Ubuntu.fr # Ajout notification via DBus par ti_tux Forum Ubuntu.fr # Ajout création repsauv si inexistant par jpdipsy Forum Ubuntu.fr from urllib.request import Request, urlopen from os import path, makedirs, system from time import time, sleep, strftime, localtime from re import search, compile, findall from sys import argv from gc import collect from bs4 import BeautifulSoup Version='1.13' homedir = path.expanduser('~') #### initialisation des variables adressWeb="http://www.accuweather.com/fr/fr/argenteuil/133593/current-weather/133593" repsauv= "~/essais" huitHeures="oui" nbFoisHuit=1 matin="oui" apresmidi="oui" soiree="oui" nuit="oui" nbJour=1 interval=30 notifi="oui" externe = None 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) if search("matin=", a) is not None: matin=compile("matin=(.*)").search(a).group(1) if search("apresmidi=", a) is not None: apresmidi=compile("apresmidi=(.*)").search(a).group(1) if search("soiree=", a) is not None: soiree=compile("soiree=(.*)").search(a).group(1) if search("nuit=", a) is not None: nuit=compile("nuit=(.*)").search(a).group(1) if search("externe=", a) is not None: externe=compile("externe=(.*)").search(a).group(1) if search("nbFoisHuit=", a) is not None: nbFoisHuit=compile("nbFoisHuit=(.*)").search(a).group(1) nbJour=int(nbJour) interval=int(interval) repsauv=repsauv.replace("~", homedir) notifi=str.lower(notifi) huitHeures=str.lower(huitHeures) nbFoisHuit=int(nbFoisHuit) #### fin initialisation des variables #### Fonction de traitement des fichiers def traitement(adress, fichier): # fiche = open(fichier, "w") #pour debug current_balise=None x=1 while current_balise is None: url=Request(adress) currentCond=urlopen(url) soup = BeautifulSoup(currentCond) currentCond.close() #si autres que huit heures table=soup.find_all('table') current_balise=soup.find(id="details") if current_balise is None: sleep(1) x=x+1 print("problème de récupération de donées\n essais n°"+str(x)+"\npage : "+adress) # print(current_balise.prettify()+"\n") information="\n" if search("huitHeures", fichier) is None: # recherche vent 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" elif search("Jour", fichier) is not None: 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 <= 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() inf=inf.replace(compile('^ *').search(inf).group(0), "").replace("\n", "") if search(":", inf) is not None: information=information+inf+"\n" information=information+str(int(time()))+"\n" else: #recherche icones huit heures rows = table[0].findAll('tr') 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 # td=td.replace(" ", "") texte_bu = td.text.replace("\n", "").replace(chr(160), "") 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, nbFoisHuit): dem=time()-(60*60) misajour=1 while 1 : heure=time() if huitHeures=="oui": x=0 while x<nbFoisHuit: h=(x*8)+int(strftime('%H', localtime())) x=x+1 traitement(ent+nb1+'/hourly-weather-forecast/'+nb2+'?hour='+str(h), repsauv+"/huitHeures"+str(x)) print("huitHeures "+str(x)+" Ok") if time()-dem >= 60*60: x=0 while x<nbJour: x=x+1 traitement(ent+nb1+'/daily-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Jour"+str(x)) print("Jour "+str(x)+" Ok") if matin=="oui": traitement(ent+nb1+'/morning-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Matin"+str(x)) print("Matin "+str(x)+" Ok") if apresmidi=="oui": traitement(ent+nb1+'/afternoon-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/AM"+str(x)) print("AM "+str(x)+" Ok") if soiree=="oui": traitement(ent+nb1+'/evening-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Soiree"+str(x)) print("Soiree "+str(x)+" Ok") if nuit=="oui": traitement(ent+nb1+'/overnight-weather-forecast/'+nb2+"?day="+str(x), repsauv+"/Nuit"+str(x)) print("Nuit "+str(x)+" Ok") traitement(ent+nb1+'/current-weather/'+nb2, repsauv+"/CC") print("CC Ok") if externe is not None: system(externe) fin=time() duree=fin-heure if notifi == "oui": if time()-dem >= 60*60: dem=time() mess=notify2.Notification('Recmeteo.py v'+Version, 'Météo : mise à jour complète terminée\n en '+str(round(duree,2))+' secondes', 'dialog-information') else: mess=notify2.Notification('Recmeteo.py v'+Version, 'Météo : mise à jour partielle terminée\n en '+str(round(duree,2))+' secondes', 'dialog-information') mess.show() start=heure pause=60*interval-int(duree) print("mise a jour en : "+str(duree)) collect() sleep(pause) ### Initialiation de DBus pour les notifications if notifi == "oui": import notify2 notify2.init('Recmeteo.py') ### Vérification répertoire if not path.exists(repsauv): makedirs(repsauv) #### 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, nbFoisHuit)
Helas non, même message d'erreur :
christophe@christophe-desktop:~$ cd Accuweather
christophe@christophe-desktop:~/Accuweather$ ./start-recmeteo.sh
/home/christophe/Accuweather/configs/defaut.cfg
6
Traceback (most recent call last):
File "/home/christophe/Accuweather/scripts/recmeteo.py", line 65, in <module>
nbFoisHuit=int(nbFoisHuit)
ValueError: invalid literal for int() with base 10: ''
christophe@christophe-desktop:~/Accuweather$
Hors ligne
#2247 Le 23/02/2013, à 10:18
- Didier-T
Re : [Conky] Alternative à weather.com (2)
Helas non, même message d'erreur :
christophe@christophe-desktop:~$ cd Accuweather christophe@christophe-desktop:~/Accuweather$ ./start-recmeteo.sh /home/christophe/Accuweather/configs/defaut.cfg 6 Traceback (most recent call last): File "/home/christophe/Accuweather/scripts/recmeteo.py", line 65, in <module> nbFoisHuit=int(nbFoisHuit) ValueError: invalid literal for int() with base 10: '' christophe@christophe-desktop:~/Accuweather$
pas tout a fait, maintenant il nous dis qu'il n'a pas de valeur pour nbFoisHuit, donc soit ton meteo.cfg n'est pas complet, soit la donnée n'est pas transmise par start-recmeteo.sh
je te laisse regarder, si tu ne trouve pas colle sur le forum les deux scripts en question (si tu trouve dit nous d’où sa venait)
Hors ligne
#2248 Le 23/02/2013, à 10:24
- carpediem
Re : [Conky] Alternative à weather.com (2)
carpediem a écrit :Didier-T a écrit :carpediem, il s'agit d'une seul ligne de commande, je vois que tu la coupe en deux.
par contre on vas passer notify=non, comme la suggéré jpdipsy.python3 ~/Scripts/MeteoLua2/Scripts/recmeteo.py repsauv=~/Scripts/MeteoLua2/sauvegardes adressWeb=http://www.accuweather.com/fr/fr/stiring-wendel/135054/weather-forecast/135054 nbJour=10 matin=oui apresmidi=oui soiree=oui nuit=oui huitHeures=oui nbFoisHuit=1 interval=10 notify=non
@ jpdipsy, @Didier-T un grand MERCI mes conkys fonctionnent. :lol:
Encore une petit souci pour le graphique de la pression et de la température qui ne fonctionne toujours pas.
encore merci pour ce magnifique travailleCordialement
carpediemil faudrait que tu me re-fournisse tes scripts, la position a changé pour les données (la facon de les récupérer aussi)
Je me demande si je vais pas virer la notification, trop de soucis, pour un intérêt limité (enfin a mon gout)
Salut à tous, je joint les différents scripts pour le graphique de la pression et de la température.
barognuplot.sh
#!/bin/bash
## files
LOG="$HOME/conky/barograph/ListePression2.log"
GRAPH="$HOME/conky/barograph/graph2.png"
## Verifier argument
##Infos generales
DATE=$(date +"%s")
DATE1WEEK=$(date --date="1 week ago" +"%s")
# liste des dates de releve du fichier log
EPOCH=()
while read
do
EPOCH+=( "$REPLY" )
done< <(awk '{print $1}' "$LOG")
# si le fichier existe et contient des valeurs de plus d'une semaine (premiere = plus vieille)
#supprimer premiere valeur
[[ -f $LOG ]] && {
for i in $(seq 0 $(($(wc -l < $LOG)-1)))
do
[[ $DATE1WEEK -gt ${EPOCH[$i]} ]] && sed -i '1d' $LOG || break
done
}
## Conversion en hectopascal et soustraction de la pression moyenne pour ramener l'axe a zero
PR_HP=`sed -n 16p /home/claude/conky/meteo/CondCour`
TEMP=`sed -n 4p /home/claude/conky/meteo/CondCour`
PR_CALC=$(bc << EOF
scale=0
$PR_HP - 1000
EOF
)
echo "$DATE $PR_CALC $TEMP" >> $LOG
gnuplot <<EOF
set terminal png enhanced size 300,170 transparent #font "Ubuntu,10" 400,350
set term png font "Ubuntu,9"
set output "$GRAPH"
unset key
set grid
set xzeroaxis lt 3 lw 2
set yzeroaxis
set ytics ("" -40, "" -20, "" 20, "" 40)
set mxtics 0
set xdata time
set timefmt "%s"
set xtics 86400
set format x "%d"
set style line 1 lw 2
set style line 2 lw 2
plot ["$DATE1WEEK":"$DATE"] [-40:50] "$LOG" using 1:3 with lines ls 2, "$LOG" using 1:2 with lines ls 1
EOF
exit 0
ListePression2.log
1361026679 25 -1
1361026709 25 -1
1361026739 25 -1
1361026770 25 -1
1361026801 25 -1
1361026831 25 -1
1361026862 25 -1
1361026893 25 -1
1361026924 25 -1
1361026954 25 -1
1361026985 25 -1
1361027015 25 -1
1361027045 25 -1
1361027076 25 -1
1361027106 25 -1
1361027136 25 -1
1361027167 25 -1
1361027198 25 -1
1361027229 25 -1
1361027260 25 -1
1361027291 25 -1
1361027321 25 -1
1361027352 25 -1
1361027383 25 -1
1361027413 25 -1
1361027444 25 -1
conkyrc-pression
TEXT
${voffset -6}${goto 25}${font chopinscript:size=17}${color black} Pression Atmospherique
${if_gw}${execi 30 bash /home/claude/conky/barograph/barognuplot.sh}${endif}#
${image /home/claude/conky/barograph/graph2.png -s 270x150 -p -10,10 -n}#
${font Verdana:size=7}#
${color #008C00}${voffset -12}${goto 240} 40°C${color red}${goto 280}1040mb
${color #008C00}${voffset 13}${goto 240} 20°C${color red}${goto 280}1020mb
${color #008C00}${voffset 11}${goto 240} 0°C${color red}${goto 280}1000mb
${color #008C00}${voffset 13}${goto 240} -20°C${color red}${goto 280} 980mb
${color #008C00}${voffset 10}${goto 240} -40°C${color red}${goto 280} 960mb
${execi 1200 /home/claude/conky/Scripts/Sphere
${image ~/sphere_satireu1.png -p 20,370 -s 300x300 -f 60}
Merci de votre aide
carpediem
"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE
Hors ligne
#2249 Le 23/02/2013, à 10:56
- jpdipsy
Re : [Conky] Alternative à weather.com (2)
Toutes,tous
Passage du pack en v 1.00 fonctionne "apparement" sans accroc auusi bien avec xplanetFX
modif : partout donc telechargez décompressé LISEZ
Je ne serai pas présent ce WE alors tchusss
Hors ligne
#2250 Le 23/02/2013, à 10:59
- Didier-T
Re : [Conky] Alternative à weather.com (2)
@ carpediem,
sa devrait fonctionner avec sa (si les chemins non pas changé)
barognuplot.sh
#!/bin/bash
## files
LOG="$HOME/conky/barograph/ListePression2.log"
GRAPH="$HOME/conky/barograph/graph2.png"
## Verifier argument
##Infos generales
DATE=$(date +"%s")
DATE1WEEK=$(date --date="1 week ago" +"%s")
# liste des dates de releve du fichier log
EPOCH=()
while read
do
EPOCH+=( "$REPLY" )
done< <(awk '{print $1}' "$LOG")
# si le fichier existe et contient des valeurs de plus d'une semaine (premiere = plus vieille)
#supprimer premiere valeur
[[ -f $LOG ]] && {
for i in $(seq 0 $(($(wc -l < $LOG)-1)))
do
[[ $DATE1WEEK -gt ${EPOCH[$i]} ]] && sed -i '1d' $LOG || break
done
}
## Conversion en hectopascal et soustraction de la pression moyenne pour ramener l'axe a zero
PR_HP=`awk '/Humidité: / {print int($2)}' /home/claude/conky/meteo/CC`
TEMP=`awk '/Temp: / {print int($2)}' /home/claude/conky/meteo/CC`
PR_CALC=$(bc << EOF
scale=0
$PR_HP - 1000
EOF
)
echo "$DATE $PR_CALC $TEMP" >> $LOG
gnuplot <<EOF
set terminal png enhanced size 300,170 transparent #font "Ubuntu,10" 400,350
set term png font "Ubuntu,9"
set output "$GRAPH"
unset key
set grid
set xzeroaxis lt 3 lw 2
set yzeroaxis
set ytics ("" -40, "" -20, "" 20, "" 40)
set mxtics 0
set xdata time
set timefmt "%s"
set xtics 86400
set format x "%d"
set style line 1 lw 2
set style line 2 lw 2
plot ["$DATE1WEEK":"$DATE"] [-40:50] "$LOG" using 1:3 with lines ls 2, "$LOG" using 1:2 with lines ls 1
EOF
exit 0
Hors ligne