#351 Le 08/12/2008, à 22:20
- Dmaille
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
C'est géant, le wallpaper dynamique Chameleon tourne sur mon intrepid depuis hier : que du bonheur ! Par contre comme piste d'amélioration ne pourrait-on pas récupérer les heures de lever et de coucher de soleil pour que la durée du jour, de la nuit et des transitions soient réelles ?
Encore bravo pour cette réalisation !
Hors ligne
#352 Le 09/12/2008, à 22:31
- Piouaille
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Salut à tous !
Je viens d'installer ce magnifique fond d'écran dynamique. J'ai suivi les étapes pas à pas. J'ai vérifié que, dans chaque fichier, le nom du répertoire soit correct (/home/mon_plugin_à_moi/background). Cependant ça ne marche pas. J'ai donc 2 petites questions :
1- pourquoi je ne trouve pas le fichier background.xml ? est-ce qu'il faut le créer ou se crée-t'il automatiquement ?
2- quel fichier faut-il placer au démarage de gnome ? meteo.sh ou meteo_demarrage.sh ? perso je dirai meteo_demarrage.sh mais la note au début de meteo.sh dit que c'est ce fichier qu'il faut placer au démarage de gnome ? alors je doute...
merci de votre aide (j'ai hâte que ça marche !)
PS: je suis sous intrepid et j'avais déjà réussi à mettre un fond d'écran dynamique (changeant avec l'heure seulement) sous hardy (c'était avant mon formatage, ouais je sais je suis un boulet un peu...:D)
Hors ligne
#353 Le 10/12/2008, à 00:33
- apmlolster76
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Salut ,
t'inquite pas moi aussi j'ai galéré
Prend la méthode du wiki ,celui avec walldyn ((beau boulot )
Hors ligne
#354 Le 10/12/2008, à 13:10
- jeje2a
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
salut, je traîne un peu à répondre Sebco
les amateurs du genre vont être ravi, ça apporte un p'tit côté zen au bureau.
peut-être le fond un peu trop rouge pour le coucher du soleil, mais comme je suis pas trop expert en graphisme... pour le moment ça le fait bien ^^
j'ai laissé exprès le copyright de l'auteur (on sait jamais...)
config. actuelle : MSI Z270 Gaming pro Carbon - Intel Core i7 7700K 4,2GHZ - MSI GeForce GTX 1070 ti 8Go -
Ballistix Tactical 2x8 Go
Hors ligne
#355 Le 10/12/2008, à 18:29
- Sebco
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Salut tout le monde !
oui, Piouaille, va faire un tour par là ----> http://doc.ubuntu-fr.org/personnalisation_/cubemodel_de_compiz_et_wallpaper_dynamique#installation_d_un_wallmeteo
c'est encore la meilleur methode pour avoir un fond d'ecran dynamique meteo, elle est stable et tres fonctionnel...
jeje2a, tu pourrais me faire une archive contenant :
tes 4 images waltime et le fichier .xml correspondant ? Pour pouvoir le mettre dans la docs et en faire profiter tout le monde ?
.*´¨;) -->Pour les problemes http://chat.jabberfr.org/muckl_int/index.php?room=ubu-personnalisation
¸.•´¸.•´¨;)¸.•*¨;)-->Le site http://penguincape.org/
(¸.•´ (¸.•´ .•´ : (´¸.•*´¯`*•~--> Wiki --> http://doc.ubuntu-fr.org/tutoriel/personnalisation_cubemodel_wallpaper_dynamique_et_usplash
Hanoi - VIETNAM
Hors ligne
#356 Le 10/12/2008, à 19:06
- emris
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Sebco j'ai modifié le tuto pour renvoyer à ta page du wiki. GOOD JOB!
Hors ligne
#357 Le 11/12/2008, à 18:40
- yoyovlt
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Je ne suis pas aussi bon que vous tous infographistes, j'ai simplement envie de partager et "faire don" de mes créations en wallpapers pour les fonds d'écran d'Ubuntu 9.04 JJ...
Je sais pas si je poste au bon endroit, mais mes créations sont assez simples, en 2D et sans programmation, et je souhaite juste mettre des liens sur le forum pour que la communauté me dise ce qu'elle en pense et en profite par la même occasion
Donc j'ai pensé à mettre des liens vers DLFree sur le forum?
aller du côté de Ubuntu look?
Dites moi si je suis au bon endroit, car après des heures de recherche, c'est le poste ubuntu-fr qui je crois se rapproche le plus de mes ambitions...
@++ et merci de vos réponses!!!
yoyovlt:P
Hors ligne
#358 Le 11/12/2008, à 18:42
- spatz
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
http://forum.ubuntu-fr.org/viewtopic.php?id=255827 yoyovlt, poste plutôt là.
PLOP ! Blogueur ! Râleur ! Agnostique ! Architecte ! Floodeur ! Gentil ! Chiant ! Fourbe ! Crâneur ! GNU/Windows/Linuxien ! Machiavélique ! Beau ! Républicain ! Intelligent ! Bosseur ! Très Prétentieux ! Scientifique ! Frimeur ! Étudiant ! De bonne foi ! Perverti ! Ubunteros ! Grand ! Sociable! Altruiste ! Provoc' ! Censé !
Hors ligne
#359 Le 11/12/2008, à 20:52
- Sebco
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Ah oui, Yoyovlt.....viens nous rejoindre sur le lien que Spatz t'as donné....Je pense que tu peux interresser grandement beaucoup de monde !!
.*´¨;) -->Pour les problemes http://chat.jabberfr.org/muckl_int/index.php?room=ubu-personnalisation
¸.•´¸.•´¨;)¸.•*¨;)-->Le site http://penguincape.org/
(¸.•´ (¸.•´ .•´ : (´¸.•*´¯`*•~--> Wiki --> http://doc.ubuntu-fr.org/tutoriel/personnalisation_cubemodel_wallpaper_dynamique_et_usplash
Hanoi - VIETNAM
Hors ligne
#360 Le 17/12/2008, à 20:12
- philero
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Salut,
Super projet!
J'ai utilisé la méthode expliquée ici : http://doc.ubuntu-fr.org/personnalisati … _wallmeteo
Çà semblait fonctionner mais j'ai voulu vérifier que la météo donnéé était bien celle de Rennes, ville utilisée à l'installation.
J'ai vu dans le fichier newbackground.py :
refville = 'FRXX0076'
C'est le code de Paris. J'ai relancé le script backgroundG pour essayer avec une autre ville et après réinstallation le code ville est toujours le même.
Est-ce que si je le modifie dans newbackground.py il sera pris en compte? ou il faut regénérer un .pyc?
Bonne soirée,
Philippe
Hors ligne
#361 Le 17/12/2008, à 21:08
- Sebco
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
oui, philero, se sera pris en compte au redemarage de Walldyn, donc de crontab,donc du pc.
.*´¨;) -->Pour les problemes http://chat.jabberfr.org/muckl_int/index.php?room=ubu-personnalisation
¸.•´¸.•´¨;)¸.•*¨;)-->Le site http://penguincape.org/
(¸.•´ (¸.•´ .•´ : (´¸.•*´¯`*•~--> Wiki --> http://doc.ubuntu-fr.org/tutoriel/personnalisation_cubemodel_wallpaper_dynamique_et_usplash
Hanoi - VIETNAM
Hors ligne
#362 Le 17/12/2008, à 22:08
- josian
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Je tourne autour de ce problème depuis quelques jours : je ne vois jamais le soleil à Nantes .
Il faut modifier newbackground.py pour changer la refville puis relancer le PC ?
J'ai utilisé Gnome Schedule pour tester la tâche crée : il y a une erreur " refcity non défini".
La tâche ne semble pas s'éxécuter : le background.xml n'évolue pas depuis sa création par walldyn et donc les écrans n'évoluent pas en fonction de la météo mais seulement en fonction de l'heure ( et non du temps !)
W XP et UBUNTU 10.04
AMD 64 3000+ ATI HD 4650
FREEBOX V5 NIKON D70 Sony Ericsson W595s
Hors ligne
#363 Le 17/12/2008, à 22:15
- poupoul2
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
je ne vois jamais le soleil à Nantes
En même temps, il n'y en a pas du soleil à Nantes
[]-->je suis déjà sorti (elle était trop facile)
#364 Le 17/12/2008, à 22:49
- spatz
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
c'est vrai que c'est franchement rare en ce moment qu'il y ait du soleil. Quand il fait un peu plus chaud il pleut, quand il fait plus froid, il fait froid.
PLOP ! Blogueur ! Râleur ! Agnostique ! Architecte ! Floodeur ! Gentil ! Chiant ! Fourbe ! Crâneur ! GNU/Windows/Linuxien ! Machiavélique ! Beau ! Républicain ! Intelligent ! Bosseur ! Très Prétentieux ! Scientifique ! Frimeur ! Étudiant ! De bonne foi ! Perverti ! Ubunteros ! Grand ! Sociable! Altruiste ! Provoc' ! Censé !
Hors ligne
#365 Le 17/12/2008, à 22:51
- Кຼزດ
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
quand il fait plus froid, il fait froid.
je vous présente spatz, le penseur de la soirée .
Quand il fait plus froid on peut sortir le manchots
dou
Hors ligne
#366 Le 17/12/2008, à 23:53
- philero
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Sebco : Merci pour l'info je vais donc tester çà.
Josian : Oui çà fait une semaine qu'il pleuvait, c'était pas suspect, mais aujourd'hui il a fait beau, çà éveille les soupçons!
Merci pour votre réactivité je vous tiens au courant.
Philippe
Dernière modification par philero (Le 17/12/2008, à 23:55)
Hors ligne
#367 Le 18/12/2008, à 00:55
- philero
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Salut,
J'ai l'impression qu eçà ne marche pas chez moi...
Je suis allé là : http://www.weather.com/outlook/travel/b … didyoumean pour voir la météo là où il fait "sunny".
J'ai mis le code USCA1020 dans mon fichier newbackground.py, puis j'ai redémarré.
J'ai toujours le fond d'écran Cloudy4, je suppose que je devrais avoir Sunny4...
Cette semaine j'ai eu du brouillard, donc je suppose que la récupération de la météo s'est bien faite à un moment.
Quel est le temps par défaut? (si je n'ai pas de connexion web par exemple?).
J'ai vérifié mon fichier, le code de Santa Cruz est bien là, il a bien été enregistré.
Bonne nuit,
Philippe
Hors ligne
#368 Le 19/12/2008, à 19:29
- Sebco
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
le temps par defaut si tu n'as rien bidouillé, et "snow" pour etre sur que la condition n'est pas connu. Cel permet de la rajouter le cas echeant (si je me fais bien comprendre)
En claire, par exemple, moi, quand je vois de la neige, je vais sur weather .com, et je regarde la conditin qu'il enonce pour Nice. Par exemple "Simply Cloudy". Le programme ne reconnaissant pas cette condition me montre de la neige? Je sais donc qu'il faut que je rentre cette condition associé au wall "cloudy" dans le programme.
Regarde là, ça peu peut être t'aider ---> http://forum.ubuntu-fr.org/viewtopic.php?id=255827&p=48#1178 post N° 1178
Dernière modification par Sebco (Le 19/12/2008, à 19:33)
.*´¨;) -->Pour les problemes http://chat.jabberfr.org/muckl_int/index.php?room=ubu-personnalisation
¸.•´¸.•´¨;)¸.•*¨;)-->Le site http://penguincape.org/
(¸.•´ (¸.•´ .•´ : (´¸.•*´¯`*•~--> Wiki --> http://doc.ubuntu-fr.org/tutoriel/personnalisation_cubemodel_wallpaper_dynamique_et_usplash
Hanoi - VIETNAM
Hors ligne
#369 Le 19/12/2008, à 20:19
- josian
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
"snow" m'a permis de découvrir "light drizzle", que je traduis - librement- crachin nantais .
Plus sérieusement, l'évolution des écrans est fonction de l'heure et non de la météo : j'ai testé la tâche avec Gnome schédule, il y a erreur avec refcity ; est-ce important ?
W XP et UBUNTU 10.04
AMD 64 3000+ ATI HD 4650
FREEBOX V5 NIKON D70 Sony Ericsson W595s
Hors ligne
#370 Le 20/12/2008, à 11:49
- Kanor
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Oh j'arrive à avoir une petit connexion internet
Alors pour info il fait très beau à Nantes j'ai un magnifique ciel bleu la
Josian lance le logiciel dans un terminal et copie coller les messages
Bon je retourne dans eclipse
Hors ligne
#371 Le 20/12/2008, à 12:37
- spatz
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
@Kanor: c'est quand même très nuageux dehors à l'heure où j'écris.
PLOP ! Blogueur ! Râleur ! Agnostique ! Architecte ! Floodeur ! Gentil ! Chiant ! Fourbe ! Crâneur ! GNU/Windows/Linuxien ! Machiavélique ! Beau ! Républicain ! Intelligent ! Bosseur ! Très Prétentieux ! Scientifique ! Frimeur ! Étudiant ! De bonne foi ! Perverti ! Ubunteros ! Grand ! Sociable! Altruiste ! Provoc' ! Censé !
Hors ligne
#372 Le 20/12/2008, à 13:36
- josian
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
@Kanor :
Prèt pour tout test, mais dans le terminal, je lance quel logiciel ?
Pour la météo : hier light drizzle ( crachin nantais), il faut voir avec la marée
W XP et UBUNTU 10.04
AMD 64 3000+ ATI HD 4650
FREEBOX V5 NIKON D70 Sony Ericsson W595s
Hors ligne
#373 Le 21/12/2008, à 19:26
- Kanor
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Tu lance dans le terminal quelque chose comme ça
./backgroundG
dans le dossier ou se trouve le logicel
Hors ligne
#374 Le 21/12/2008, à 20:44
- josian
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
@Kanor
Ville Nantes FRXX0072
josian@ubuntu:~/WallDyn$ ./backgroundG
2008-12-21 20:34:14,921 DEBUG completion
TypeError: _cb_entry_city() takes exactly 8 arguments (3 given)
2008-12-21 20:34:44,994 DEBUG city
======= etc =====
2008-12-21 20:35:53,460 DEBUG add cron :
*/15 * * * * /usr/bin/python /home/josian/WallDyn/newbackground.py -i /home/josian/Themes meteo/everest -x /home/josian/Themes meteo/everest -v FRXX0072
2008-12-21 20:35:53,461 DEBUG genrate xml
2008-12-21 20:35:53,900 DEBUG Mostly Cloudy
2008-12-21 20:35:53,961 DEBUG file background : gconftool-2 --type string --set /desktop/gnome/background/picture_filename '/home/josian/Themes meteo/everest/newbackground.xml'
2008-12-21 20:35:53,965 DEBUG destroy
Lorsque je lance le test de gnome schedule sur la tâche crée :
Traceback (most recent call last):
File "/home/josian/WallDyn/newbackground.py", line 263, in <module>
main(refcity,dir_xml,dir_img)
NameError: name 'refcity' is not defined
La première méteo est correcte mais n'évolue plus ; comment puisse-je vérifier les appels vers weather.com ?
W XP et UBUNTU 10.04
AMD 64 3000+ ATI HD 4650
FREEBOX V5 NIKON D70 Sony Ericsson W595s
Hors ligne
#375 Le 22/12/2008, à 21:05
- philero
Re : Un fond d'ecran dynamique en fonction de l'heure et de la météo
Salut,
J'ai du nouveau sur mon problème.
Il n'y avait pas de droit d'écriture pour le groupe et pour les autres sur le fichier newbackground.xml, alors je les ai mis histoire de voir.
Le fichier n'a toujours pas été modifié.
J'ai fait un
sh newbackground.py
et j'ai eu l'erreur suivante ;
root@philero-desktop:/home/philero/Apparence/WallDyn# sh newbackground.py
import: unable to grab mouse `': Resource temporarily unavailable.
from: can't read /var/mail/xml.dom.minidom
from: can't read /var/mail/xml.dom
from: can't read /var/mail/math
import: unable to grab mouse `': Resource temporarily unavailable.
newbackground.py: 9: Syntax error: word unexpected (expecting ")")
J'ai regardé le code mais je n'ai pas vu d'erreur de parenthèse.
Voici mon fichier :
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys, urllib, getopt,os, commands,re
from xml.dom.minidom import Document
from xml.dom import minidom
from math import *
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
stream=sys.stderr)
#Variable
#Nom du programme
filename = sys.argv[0]
#Dossier ou est stocké le programme
fileprog = sys.path[0]
refville = 'USCA1020'
cron = 3
controlville = 0
controlpath = 0
#Fonction
def usage():
print "Logiciel pour mettre en place un fond écran en fonction de la météo et de l\'heure \n ------Commande Possible ------- \n -h,--help pour obtenir cet aide \n -v,-ville pour définir la variable correspondant à votre ville grace au site weather.com \n -i,--images pour définir le dossier ou se trouve le pack d\'image \n -a,--ajouter pour rajouter dans le cron \n -e,--enlever pour supprimer dans le cron "
def transform_weather_filename(weather,directory_img):
logging.debug(weather)
temps = {"Partly Cloudy":"partly_cloudy","Fair":"fair","Cloudy":"cloudy","Mostly Cloudy":"cloudy","Sunny":"sunny","Hot":"sunny", "Clear":"sunny","Severe Thunderstorms":"storm","Thunderstorms":"storm","Isolated Thunderstorms":"storm","Scattered Thunderstorms":"storm" ,"Thunder Showers":"storm","Thunder":"storm","Tornado":"storm","Tropical":"storm", "Storm":"storm" ,"Hurricane":"storm","Dust":"storm","Snow Flurries":"snow","Light Snow Showers":"snow","Blowing Snow":"snow","Snow":"snow","Snow Showers":"snow","Heavy Snow":"snow","Scattered Snow Showers":"snow","Heavy Snow":"snow","Sleet":"snow","Cold":"snow", "Shower":"shower","Mixed Precipitation":"shower",
"Mixed Rain":"rain" ,"Rain":"rain", "Sleet":"rain","Scattered Showers":"rain","Freezing Rain":"rain","Mixed Rain":"rain", "Hail":"rain","Freezing Drizzle":"fog","Drizzle":"fog","Fog":"fog","Haze":"fog","Smoke":"fog","Blustery":"partly_cloudy","Windy":"partly_cloudy","Showers in the Vicinity":"showers"}
try:
path = os.path.join(directory_img , temps[weather])
except:
path = os.path.join(directory_img ,"snow")
return path
def calculeD(lat1,lon1,lat2,lon2):
R = 6367000
d = 2 * R * asin(sqrt( pow( sin((lon1 - lon2) / 2 ),2) + cos(lon1) * cos(lon2) * pow( sin((lat1 -lat2)/2),2)))
return d
def calcule_distance(lon1,lat1):
lat1 = radians(float(lat1))
lon1 = radians(float(lon1))
listville = []
for numeroLigne,ligne in enumerate(open(os.path.join(sys.path[0],"liste-ville"),'r').xreadlines()):
try:
lat2 = radians(float(ligne.split(":")[3]))
lon2 = radians(float(ligne.split(":")[4]))
except:
pass
d = calculeD(lat1,lon1,lat2,lon2)
turple = (ligne.split(":")[0:2],d)
listville.extend([turple])
listville.sort(lambda a,b : cmp (a[1],b[1]))
return listville[0]
def main(refcity,dir_xml,dir_img):
#Récupération des donné
meteo = Weather(refcity).w_today()
#Relation entre condition métérologique et nom du fichier
fileimage = transform_weather_filename(meteo,dir_img)
#Génération du fichier xml
doc = CreateXml(fileimage).doc
#Enregistrement dans le fichier background.xml
f = open(os.path.join(dir_xml,'newbackground.xml'), 'w')
f.write(doc.toxml())
f.close()
#Classe permettant le modication du cron
class ToolCron():
def __init__(self):
self.crontab = commands.getoutput("crontab -l")
def status(self,programme):
result = "\n".join([ em for em in self.crontab.split('\n') if re.search(programme,em)])
return result
def add(self,newcron):
f = file("/tmp/cron","w")
result = self.crontab +'\n' + newcron
f.write(result)
f.close()
commands.getoutput('crontab /tmp/cron')
self.crontab = commands.getoutput("crontab -l")
def delete(self,programme):
result = "\n".join([ em for em in self.crontab.split('\n') if re.search(programme,em) == None])
f = file("/tmp/cron","w")
f.write(result)
f.close()
commands.getoutput('crontab /tmp/cron')
self.crontab = commands.getoutput("crontab -l")
def replace(self,programme,newcron):
self.delete(programme)
logging.debug("delete cron :" + filename)
self.add(newcron)
logging.debug("add cron :" + newcron)
#Classe générant le document xml
class CreateXml():
def __init__(self,path):
self.doc = Document()
# Creation de la balise background
self._background = self.doc.createElement("background")
self.doc.appendChild(self._background)
# Creation de la balise starttime
self._starttime = self.doc.createElement("starttime")
self._background.appendChild(self._starttime)
# Creation des noeuds de startime
self._createN(self._starttime,"year","2007")
self._createN(self._starttime,"month","09")
self._createN(self._starttime,"days","26")
self._createN(self._starttime,"hour","07")
self._createN(self._starttime,"minute","00")
self._createN(self._starttime,"second","00")
# We start with sunrise at 7 AM. It will remain up for 1 hour.
self._createNStatic("3600", path + "1.jpg")
# Sunrise starts to transition to day at 8 AM. The transition lasts for 5 hours, ending at 1 PM.
self._createNTransition("18000",path + "1.jpg",path + "2.jpg")
#It's 1 PM, we're showing the day image in full force now, for 2 hours ending at 3 PM.
self._createNStatic("7200", path + "2.jpg")
# It's 3 PM, and we're starting to transition to sunset. Transition completes at 6 PM. -->
self._createNTransition("10800",path + "2.jpg",path +"3.jpg")
# It's 6 PM, and it's sunset, for an hour. Ends at 7. -->
self._createNStatic("3600", path + "3.jpg")
#It's 7 PM and it's going to start to get darker. This will transition for 3 hours up until 10pm. -->
self._createNTransition("10800",path + "3.jpg",path + "4.jpg")
# It's 10pm. It'll stay dark for 7 hours up until 5 AM. -->
self._createNStatic("25200", path + "4.jpg")
#It's 5 AM. We'll start transitioning to sunrise for 2 hours up until 7 AM. -->
self._createNTransition("7200",path + "4.jpg",path + "1.jpg")
def _createNoeud(self,nom):
noeud = self.doc.createElement(nom)
return noeud
def _createN(self,pere,fils,valeur=""):
fils = self._createNoeud(fils)
texte = self.doc.createTextNode(valeur)
fils.appendChild(texte)
pere.appendChild(fils)
def _createNStatic(self,durer,fichier):
static = self.doc.createElement("static")
self._background.appendChild(static)
self._createN(static,"duration",durer)
self._createN(static,"file",fichier)
def _createNTransition(self,durer,fichier1,fichier2,mode="overlay"):
transition = self.doc.createElement("transition")
transition.setAttribute("type", mode)
self._background.appendChild(transition)
self._createN(transition,"duration",durer)
self._createN(transition,"from",fichier1)
self._createN(transition,"to",fichier2)
#Récupération des donné méterologique à partir du site weather.com
class Weather():
def __init__(self,refcity,nb_day = '4'):
self.error = [0,"Problem of connexion with weather.com",'Invalid location provided.','No location provided.']
try:
self.meteoxml = urllib.urlopen('http://xoap.weather.com/weather/local/'+ refcity +'?cc=*&unit=m&dayf=' + nb_day)
except (IOError, OSError):
self.error[0] = 1
sys.exit(2)
self.document = minidom.parse(self.meteoxml)
self.meteoxml.close()
try:
if self._recup([('error','0'),('err','0'),'0']) == u'Invalid location provided.':
self.error[0] = 2
elif self._recup([('error','0'),('err','0'),'0']) == u'No location provided.':
self.error[0] = 3
except:
pass
def _recup(self,data_for_parse):
parse = 'self.document.' + "".join([ """getElementsByTagName('%s')[%s].""" % (k,v) for k,v in data_for_parse[:-1]]) + 'childNodes[%s].nodeValue' % data_for_parse[-1]
result = eval(parse)
return result
def w_today(self):
result = self._recup([('cc','0'),('t','0'),'0'])
return result
def moon(self):
result = self._recup([('cc','0'),('moon','0'),('t','0'),'0'])
return result
def w_day(self,nb_day,d_or_n):
#nb_day donne la météo x jour aprés la date actuel
#d_or_n météo du jour 0 méteo de nuit 1
result = self._recup([('dayf','0'),('day',nb_day),('part',d_or_n),('t','0'),'0'])
return result
def city(self):
result = self._recup([('loc','0'),('dnam','0'),'0']).split(",")[0]
return result
def country(self):
result = self._recup([('loc','0'),('dnam','0'),'0']).split(",")[1]
return result
def lon(self):
result = self._recup([('loc','0'),('lon','0'),'0'])
return result
def lat(self):
result = self._recup([('loc','0'),('lat','0'),'0'])
return result
if __name__ == '__main__':
try:
opts, args = getopt.getopt(sys.argv[1:], "haev:i:x:", ["help","ajouter","enlever","ville=","images=","xml="])
except getopt.error,err:
usage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h","--help"):
usage()
sys.exit(2)
elif opt in ("-a","--ajouter"):
cron = 1
elif opt in ("-e","--enlever"):
cron = 2
elif opt in ("-v","--ville"):
refcity = arg
elif opt in ("-i","--images"):
dir_img = arg
elif opt in ("-x","--xml"):
dir_xml = arg
#Enregistrement ou suppression dans le cron
if cron == 3:#laisser en l'état
pass
elif cron == 1:#enregistrement dans le crontab
objetcron = ToolCron()
lignecron = " ".join([ em for em in sys.argv[1:] if (em in ( '-a','--ajouter','-e','--enlever','-h','--help')) == False ])
crontab = objetcron.crontab + "\n*/15 * * * * "+ sys.executable +" "+ os.path.join(fileprog,sys.argv[0]) +" "+ lignecron +"\n"
print "Rajouter la ligne suivante dans votre crontab \n*/15 * * * * "+ sys.executable +" "+ os.path.join(fileprog,sys.argv[0]) +" "+ lignecron + "?\n Taper Yes ou No pour valider"
resultat = raw_input()
if resultat.lower() == 'yes':
objetcron.replace("background",crontab)
print 'Crontab modifié'
else :
sys.exit(2)
elif cron == 2: #suppresion dans le crontab
ToolCron().delete("background")
print "Cron de "+sys.argv[0]+ " enlevé"
sys.exit(2)
main(refcity,dir_xml,dir_img)
Hors ligne