Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 13 Jan 2010 21:24:34

kmel
Affranchi(e)
 
Date d'inscription: 02 Sep 2008
Messages: 5

[python] Partage de mon script reveil.py

Salut à tous,

Bon et bien j'ai un peu repris python aux travers de ce script plus que rudimentaire. De nouvelle versions, toujours plus autonome suivront. Mais soyez patient le temps que je les crées :-)

En attendant soyez pas trop dur, c'est chaud de revenir à python après c# et php smile

Code:

# Reveil.py Version 0.0.1 bêta
# Licence LGPL
# Codé par Cr0t4lux
# 13 janvier 2010

#!/usr/bin/env python
#!-*- Coding: utf-8 -*-
import time
import os

current = time.ctime()
//Changer la date manuellement ici :)
hor = "Wed Jan 13 21:06:00 2010"
//VLC doit être installer, changer aussi l'username et le titre de la musique si vous l'avez pas
cmd = "/usr/bin/cvlc /home/cr0t4lux/Musique/\"The Offspring - Trust In You.mp3\""

while(current != hor):
    current = time.ctime()

print "%s %s" % (cmd, file)
os.system(cmd)

Prochaine étape:
- L'heure pourra etre passé en argument,
- l'outils détectera la présence de vlc, si il ne l'est pas, il proposera l'install.
- Liste de musique détectable et jouable automatiquement.
- Et enfin, le tout regroupé sous la lumière pyGTK ou PyQT.
- Il sera alors aussi créer une fois en py2exe (j'utiliserai surement python 3.0 d'ici là :-))

Meilleures salutations

Hors ligne

 

#2 13 Jan 2010 22:34:36

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: [python] Partage de mon script reveil.py

Hello,

  C'est sympa, mais il existe déja deux logiciels standard �  cet usage: cron (pour les tâches récurrentes) et at (pour les tâches ponctuelles). Par exemple, �  placer dans ton fichier crontab personnel:

Code:

# reveil a 08:00 tous les jours de la semaine
0 8 * * 1,2,3,4,5 /usr/bin/cvlc /home/musique/plop.mp3

Ou, pour une commande ponctuelle:

Code:

$ at 07:45 tomorrow
at> cvlc /home/musique/pouet.mp3

Autre détails mineurs:
- file n'a pas l'air initialisé ? (connais pas python)
- la boucle while sans sleep va charger le cpu inutilement

Hors ligne

 

#3 13 Jan 2010 22:39:56

fbianco
Membre du comité
Lieu: Suisse
Date d'inscription: 04 Feb 2005
Messages: 1455
Site web

Re: [python] Partage de mon script reveil.py

Comment dire... est-ce que tu as essayé ton programme ?

Car en plus de faire réveil, c'est aussi un programme qui réchauffe ton CPU grâce à ton while, surtout si la date est déjà passée ;-). Pour éviter que d'autres débutants ne fassent les même erreurs voilà quelques remarques :

  * Tes commentaires ne sont pas corrects, il faut utiliser le dièse en python.
  * Pour définir l'encodage il faut utiliser # -*- coding: utf-8 -*- sans le point d'exclamation
  * Le Shebang (la ligne commançant par #!) doit être la première ligne du script,
  * la deuxième étant la ligne avec l'encodage
  * ... donc tous commentaires de version et autre doivent impérativement venir après.

Je suggère pour rendre le script un peu moins aggressif niveau CPU de faire cela au lieu de la boucle while

Code:

delay = time.time() - time.mktime( time.strptime(hor) ) # calcule le nombre de secondes à attendre
if delay > 0 :
    time.sleep( delay )

Utilisateur de Debian GNU/Linux, le système d'exploitation universel !

www : https://skadi.ch

Hors ligne

 

#4 14 Jan 2010 20:42:04

kmel
Affranchi(e)
 
Date d'inscription: 02 Sep 2008
Messages: 5

Re: [python] Partage de mon script reveil.py

Nice, merci pour ce partage d'information [je connaissais cron mais j'y avais plus pensé :'(]

A+

Hors ligne

 

Pied de page des forums

Powered by FluxBB