Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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é tongue
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 tongue
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 ? wink


.*´¨;)  -->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

hmm 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 wink

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


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 !! big_smile


.*´¨;)  -->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 cool.

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

josian a écrit :

je ne vois jamais le soleil à Nantes

En même temps, il n'y en a pas du soleil à Nantes tongue

[]-->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

spatz a écrit :

quand il fait plus froid, il fait froid.

je vous présente spatz, le penseur de la soirée tongue .
Quand il fait plus froid on peut sortir le manchots wink


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. wink
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 roll

Alors pour info il fait très beau à Nantes j'ai un magnifique ciel bleu la cool
Josian lance le logiciel dans un terminal et copie coller les messages


Bon je retourne dans eclipse tongue

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 smile


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