Je l’ai mis sur le pastbin de lol pour qu’il soit plus lisible : paste.isalo.org/53
Pour la boucle je vois pas pourquoi tu as utilisé sleep ainsi.
Voici ma proposition de boucle :
[code]upcoming = time.time() + 300 # Prochain test de connexion dans 10 min
while True :
mpdsong, mpdratio = mpdInfo()
mails = mailInfo()
if connected : # Affichage des débits que si on est connecté
net = wifi()
else :
now = time.time()
if (now > upcoming):
connected = isconnected()
upcoming = now + 300 # Prochain test de connexion dans 10 min
net = ''
ginfo = geninfo()
# création de la ligne à afficher
info = '"{0} {1} {2} {0} {3} {4} {5}"'.format(c, mpdratio, mpdsong, mails, net, ginfo)
try :
os.system('xsetroot -name '+info) # pour dwm
except ImportError as err :
print(err)
time.sleep(wait)[/code]
Alors :
[ul]
[li]un seul appel à sleep par itération[/li]
[li]utilisation de format parce que je trouve ça plus jolie (et potentiellement plus rapide)[/li]
[li]pour le test de connexion je limite le nombre d’appel à time.time() et je n’effectue qu’une seul fois toute les 10 minutes l’addition, c’est de la micro-optimisation qui ne sert à rien mais que j’aime bien
[/li][/ul]
Pour le reste à ta place pour chercher les information mpd j’aurais utilisé python-mpdclient ou python-mpd, mais c’est à peut prêt tout 