Swisslinux.org

− The GNU/Linux crossroads in Switzerland −

 

Language

 

The Forum

You are not logged in.

#1 13 Jan 2010 21:24:34

kmel
Affranchi(e)
 
Registered: 02 Sep 2008
Posts: 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

Offline

 

#2 13 Jan 2010 22:34:36

BOFH
Admin
From: Ecublens, VD
Registered: 03 Feb 2005
Posts: 862
Website

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

Offline

 

#3 13 Jan 2010 22:39:56

fbianco
Membre du comité
From: Suisse
Registered: 04 Feb 2005
Posts: 1455
Website

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

Offline

 

#4 14 Jan 2010 20:42:04

kmel
Affranchi(e)
 
Registered: 02 Sep 2008
Posts: 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+

Offline

 

Board footer

Powered by FluxBB