Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
for song in songs:
copy_dir="/tmp/cd_QL/"
shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
for song in songs:
copy_dir="/tmp/cd_QL/"
shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
for song in songs:
copy_dir="/tmp/cd_QL/"
shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Brice wrote:Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
Tu utilises plusieurs fois ce chemin. Il serait préférable d'en faire
une constante symbolique.for song in songs:
copy_dir="/tmp/cd_QL/"
ce n'est pas la peine de redéfinir le même binding à chaque itération.
shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Attention, tu es encore dans la boucle sur songs. Ca veux dire que pour
*chaque* entrée dans songs, tu recommences tout ce traitement. Es-tu sûr
que ce soit nécessaire ? AMHA tu devrais commencer par revoir ton algo,
et effectuer une décomposition fonctionnelle pour éviter de te mélanger
les pinceaux.
(snip le reste pour le moment)
Brice wrote:
Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
Tu utilises plusieurs fois ce chemin. Il serait préférable d'en faire
une constante symbolique.
for song in songs:
copy_dir="/tmp/cd_QL/"
ce n'est pas la peine de redéfinir le même binding à chaque itération.
shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Attention, tu es encore dans la boucle sur songs. Ca veux dire que pour
*chaque* entrée dans songs, tu recommences tout ce traitement. Es-tu sûr
que ce soit nécessaire ? AMHA tu devrais commencer par revoir ton algo,
et effectuer une décomposition fonctionnelle pour éviter de te mélanger
les pinceaux.
(snip le reste pour le moment)
Brice wrote:Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
Tu utilises plusieurs fois ce chemin. Il serait préférable d'en faire
une constante symbolique.for song in songs:
copy_dir="/tmp/cd_QL/"
ce n'est pas la peine de redéfinir le même binding à chaque itération.
shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Attention, tu es encore dans la boucle sur songs. Ca veux dire que pour
*chaque* entrée dans songs, tu recommences tout ce traitement. Es-tu sûr
que ce soit nécessaire ? AMHA tu devrais commencer par revoir ton algo,
et effectuer une décomposition fonctionnelle pour éviter de te mélanger
les pinceaux.
(snip le reste pour le moment)
On 2006-10-23, Bruno Desthuilliers wrote:Brice wrote:Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
Tu utilises plusieurs fois ce chemin. Il serait préférable d'en faire
une constante symbolique.for song in songs:
copy_dir="/tmp/cd_QL/"
ce n'est pas la peine de redéfinir le même binding à chaque itération.
je suis d'accord là dessus et je l'ai mis avant le for song in songs.shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Attention, tu es encore dans la boucle sur songs. Ca veux dire que pour
*chaque* entrée dans songs, tu recommences tout ce traitement. Es-tu sûr
que ce soit nécessaire ? AMHA tu devrais commencer par revoir ton algo,
et effectuer une décomposition fonctionnelle pour éviter de te mélanger
les pinceaux.
il me semble que c'est nécessaire!
en fait je veux copier un morceau,
enlever les espaces dans le nom du fichier,
On 2006-10-23, Bruno Desthuilliers <onurb@xiludom.gro> wrote:
Brice wrote:
Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
Tu utilises plusieurs fois ce chemin. Il serait préférable d'en faire
une constante symbolique.
for song in songs:
copy_dir="/tmp/cd_QL/"
ce n'est pas la peine de redéfinir le même binding à chaque itération.
je suis d'accord là dessus et je l'ai mis avant le for song in songs.
shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Attention, tu es encore dans la boucle sur songs. Ca veux dire que pour
*chaque* entrée dans songs, tu recommences tout ce traitement. Es-tu sûr
que ce soit nécessaire ? AMHA tu devrais commencer par revoir ton algo,
et effectuer une décomposition fonctionnelle pour éviter de te mélanger
les pinceaux.
il me semble que c'est nécessaire!
en fait je veux copier un morceau,
enlever les espaces dans le nom du fichier,
On 2006-10-23, Bruno Desthuilliers wrote:Brice wrote:Bonjour
mon plugin a quelque peu évolué et j'espère en arriver au bout.
voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
class BurnCD(object):
PLUGIN_ID = 'Burn CD'
PLUGIN_NAME = _('Burn CD')
PLUGIN_DESC = 'Burn CD.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert files in wave files.").run()
else:
os.system("mkdir /tmp/cd_QL")
Tu utilises plusieurs fois ce chemin. Il serait préférable d'en faire
une constante symbolique.for song in songs:
copy_dir="/tmp/cd_QL/"
ce n'est pas la peine de redéfinir le même binding à chaque itération.
je suis d'accord là dessus et je l'ai mis avant le for song in songs.shutil.copy(song['~filename'], copy_dir)
for (root, dirs, files) in os.walk('/tmp/cd_QL'):
for file in files:
os.rename(os.path.join(root,file),os.path.
join(root,file).replace(' ','_'))
Attention, tu es encore dans la boucle sur songs. Ca veux dire que pour
*chaque* entrée dans songs, tu recommences tout ce traitement. Es-tu sûr
que ce soit nécessaire ? AMHA tu devrais commencer par revoir ton algo,
et effectuer une décomposition fonctionnelle pour éviter de te mélanger
les pinceaux.
il me semble que c'est nécessaire!
en fait je veux copier un morceau,
enlever les espaces dans le nom du fichier,
Merci pour ton aide! Au final le plugin marche bien! en voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
convert_cmd = """mplayer -ao pcm:file=%(destpath)s %(sourcepath)s && rm
%(sourcepath)s &"""
def convert(sourcepath, destpath):
cmd = convert_cmd %
dict(sourcepath=sourcepath,destpathÞstpath)
os.system(cmd)
class DAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -dao -pad -audio *.wav && rm -rf /tmp/cd_QL &")
class TAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon c'est un peu lourd de répéter 2 fois 99% du code
mais je ne sais pas
comment faire autrement...
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
mais ça
marche donc -;)
Merci pour ton aide! Au final le plugin marche bien! en voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
convert_cmd = """mplayer -ao pcm:file=%(destpath)s %(sourcepath)s && rm
%(sourcepath)s &"""
def convert(sourcepath, destpath):
cmd = convert_cmd %
dict(sourcepath=sourcepath,destpathÞstpath)
os.system(cmd)
class DAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -dao -pad -audio *.wav && rm -rf /tmp/cd_QL &")
class TAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon c'est un peu lourd de répéter 2 fois 99% du code
mais je ne sais pas
comment faire autrement...
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
mais ça
marche donc -;)
Merci pour ton aide! Au final le plugin marche bien! en voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
convert_cmd = """mplayer -ao pcm:file=%(destpath)s %(sourcepath)s && rm
%(sourcepath)s &"""
def convert(sourcepath, destpath):
cmd = convert_cmd %
dict(sourcepath=sourcepath,destpathÞstpath)
os.system(cmd)
class DAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -dao -pad -audio *.wav && rm -rf /tmp/cd_QL &")
class TAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon c'est un peu lourd de répéter 2 fois 99% du code
mais je ne sais pas
comment faire autrement...
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
mais ça
marche donc -;)
Brice wrote:Merci pour ton aide! Au final le plugin marche bien! en voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
convert_cmd = """mplayer -ao pcm:file=%(destpath)s %(sourcepath)s && rm
%(sourcepath)s &"""
def convert(sourcepath, destpath):
cmd = convert_cmd %
dict(sourcepath=sourcepath,destpathÞstpath)
os.system(cmd)
class DAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -dao -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
A ton avis, pourquoi est-ce que je déclare une variable pour le chemin
du répertoire temporaire et une variable pour la commande mplayer ? Et
pourquoi j'isole l'appel à cette dernière dans une fonction ? (NB : au
passage, tel que je l'ai fait, c'est encore du Q&D...)
class TAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon c'est un peu lourd de répéter 2 fois 99% du code
Non ?
mais je ne sais pas
comment faire autrement...
Questions:
1/ quelles sont les parties communes et les parties qui diffèrent
2/ à quoi servent les fonctions et l'héritage ?
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system. Si tu veux un appel bloquant, des
communications avec les processus appelé etc, il y a d'autres modules
pour ça (se référer au FameuxManuel(tm)).
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Brice wrote:
Merci pour ton aide! Au final le plugin marche bien! en voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
convert_cmd = """mplayer -ao pcm:file=%(destpath)s %(sourcepath)s && rm
%(sourcepath)s &"""
def convert(sourcepath, destpath):
cmd = convert_cmd %
dict(sourcepath=sourcepath,destpathÞstpath)
os.system(cmd)
class DAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -dao -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
A ton avis, pourquoi est-ce que je déclare une variable pour le chemin
du répertoire temporaire et une variable pour la commande mplayer ? Et
pourquoi j'isole l'appel à cette dernière dans une fonction ? (NB : au
passage, tel que je l'ai fait, c'est encore du Q&D...)
class TAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon c'est un peu lourd de répéter 2 fois 99% du code
Non ?
mais je ne sais pas
comment faire autrement...
Questions:
1/ quelles sont les parties communes et les parties qui diffèrent
2/ à quoi servent les fonctions et l'héritage ?
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system. Si tu veux un appel bloquant, des
communications avec les processus appelé etc, il y a d'autres modules
pour ça (se référer au FameuxManuel(tm)).
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Brice wrote:Merci pour ton aide! Au final le plugin marche bien! en voici le code:
import os, string, re
import util
import sys
import shutil
from qltk import ErrorMessage
from shutil import copy
from plugins.songsmenu import SongsMenuPlugin
convert_cmd = """mplayer -ao pcm:file=%(destpath)s %(sourcepath)s && rm
%(sourcepath)s &"""
def convert(sourcepath, destpath):
cmd = convert_cmd %
dict(sourcepath=sourcepath,destpathÞstpath)
os.system(cmd)
class DAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -dao -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
A ton avis, pourquoi est-ce que je déclare une variable pour le chemin
du répertoire temporaire et une variable pour la commande mplayer ? Et
pourquoi j'isole l'appel à cette dernière dans une fonction ? (NB : au
passage, tel que je l'ai fait, c'est encore du Q&D...)
class TAO(SongsMenuPlugin):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
def plugin_songs(self, songs):
if not util.iscommand("mplayer"):
ErrorMessage(
None, "Mplayer not found",
"Mplayer is used to convert
files in wave files.").run()
else:
destdir = "/tmp/cd_QL/"
os.mkdir(destdir)
for num, song in enumerate(songs):
oldname = song['~filename']
newname = ("%03d" % num)
newpath = os.path.join(destdir, newname)
shutil.copy(oldname, newpath)
wavename = ("%03d.wav" % num)
wavepath = os.path.join(destdir,
wavename)
convert(newpath, wavepath)
os.system("cd /tmp/cd_QL/ && normalize -m *.wav
&& cdrecord -v -eject -pad -audio *.wav && rm -rf /tmp/cd_QL &")
Bon c'est un peu lourd de répéter 2 fois 99% du code
Non ?
mais je ne sais pas
comment faire autrement...
Questions:
1/ quelles sont les parties communes et les parties qui diffèrent
2/ à quoi servent les fonctions et l'héritage ?
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system. Si tu veux un appel bloquant, des
communications avec les processus appelé etc, il y a d'autres modules
pour ça (se référer au FameuxManuel(tm)).
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
On 2006-10-23, Bruno Desthuilliers wrote:Brice wrote:Merci pour ton aide! Au final le plugin marche bien! en voici le code:
(snip)
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
ce que tu avais écrit à mes
besoins (dans de faibles proportions je l'avoue)A ton avis, pourquoi est-ce que je déclare une variable pour le chemin
du répertoire temporaire et une variable pour la commande mplayer ? Et
pourquoi j'isole l'appel à cette dernière dans une fonction ? (NB : au
passage, tel que je l'ai fait, c'est encore du Q&D...)
ok ok, je sais que l'utilisation des vars permet un code plus léger
mais
dans mon cas de l'appel os.system, j'avoue m'y retrouver nettement en
voyant le path et non pas une variable,
dans les tous les cas c'est un
truc que je vais changer
Bon c'est un peu lourd de répéter 2 fois 99% du code
Non ?
SImais je ne sais pas
comment faire autrement...
Questions:
1/ quelles sont les parties communes et les parties qui diffèrent
2/ à quoi servent les fonctions et l'héritage ?
1/ une simple commande, la dernière. Pour info j'ai essayé de fixer la
valeur d'une var en fonction de "quelle" plugin était appelé (cf. les
codes précédents avec classDAO et classTAO) malheureusement il faut plus
pour fixer cette var et mes connaissances étant celles d'un mec ayant à
peu près 2-3 h de python...
2/ pas compris le truc (je suis pas un bon programmeur de surcroit)
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Je suis d'accor avec ta remarque. Le truc est d'abord pour moi d'avoir
un plugin qui marche et ensuite de faire quelque chose de propre
Merci pour ton aide en tout cas!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
On 2006-10-23, Bruno Desthuilliers <onurb@xiludom.gro> wrote:
Brice wrote:
Merci pour ton aide! Au final le plugin marche bien! en voici le code:
(snip)
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
ce que tu avais écrit à mes
besoins (dans de faibles proportions je l'avoue)
A ton avis, pourquoi est-ce que je déclare une variable pour le chemin
du répertoire temporaire et une variable pour la commande mplayer ? Et
pourquoi j'isole l'appel à cette dernière dans une fonction ? (NB : au
passage, tel que je l'ai fait, c'est encore du Q&D...)
ok ok, je sais que l'utilisation des vars permet un code plus léger
mais
dans mon cas de l'appel os.system, j'avoue m'y retrouver nettement en
voyant le path et non pas une variable,
dans les tous les cas c'est un
truc que je vais changer
Bon c'est un peu lourd de répéter 2 fois 99% du code
Non ?
SI
mais je ne sais pas
comment faire autrement...
Questions:
1/ quelles sont les parties communes et les parties qui diffèrent
2/ à quoi servent les fonctions et l'héritage ?
1/ une simple commande, la dernière. Pour info j'ai essayé de fixer la
valeur d'une var en fonction de "quelle" plugin était appelé (cf. les
codes précédents avec classDAO et classTAO) malheureusement il faut plus
pour fixer cette var et mes connaissances étant celles d'un mec ayant à
peu près 2-3 h de python...
2/ pas compris le truc (je suis pas un bon programmeur de surcroit)
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Je suis d'accor avec ta remarque. Le truc est d'abord pour moi d'avoir
un plugin qui marche et ensuite de faire quelque chose de propre
Merci pour ton aide en tout cas!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
On 2006-10-23, Bruno Desthuilliers wrote:Brice wrote:Merci pour ton aide! Au final le plugin marche bien! en voici le code:
(snip)
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
ce que tu avais écrit à mes
besoins (dans de faibles proportions je l'avoue)A ton avis, pourquoi est-ce que je déclare une variable pour le chemin
du répertoire temporaire et une variable pour la commande mplayer ? Et
pourquoi j'isole l'appel à cette dernière dans une fonction ? (NB : au
passage, tel que je l'ai fait, c'est encore du Q&D...)
ok ok, je sais que l'utilisation des vars permet un code plus léger
mais
dans mon cas de l'appel os.system, j'avoue m'y retrouver nettement en
voyant le path et non pas une variable,
dans les tous les cas c'est un
truc que je vais changer
Bon c'est un peu lourd de répéter 2 fois 99% du code
Non ?
SImais je ne sais pas
comment faire autrement...
Questions:
1/ quelles sont les parties communes et les parties qui diffèrent
2/ à quoi servent les fonctions et l'héritage ?
1/ une simple commande, la dernière. Pour info j'ai essayé de fixer la
valeur d'une var en fonction de "quelle" plugin était appelé (cf. les
codes précédents avec classDAO et classTAO) malheureusement il faut plus
pour fixer cette var et mes connaissances étant celles d'un mec ayant à
peu près 2-3 h de python...
2/ pas compris le truc (je suis pas un bon programmeur de surcroit)
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Je suis d'accor avec ta remarque. Le truc est d'abord pour moi d'avoir
un plugin qui marche et ensuite de faire quelque chose de propre
Merci pour ton aide en tout cas!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
On 2006-10-23, Bruno Desthuilliers wrote:Brice wrote:Merci pour ton aide! Au final le plugin marche bien! en voici le code:
(snip)
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
s/adapté/copié-collé/
Escroc !-)
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
Correction : après lecture de la doc, je n'en suis plus si sûr. Anyway,
regarde du côté de subprocess...
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Je suis d'accor avec ta remarque. Le truc est d'abord pour moi d'avoir
un plugin qui marche et ensuite de faire quelque chose de propre
Le problème est que quand on laisse la saleté s'accumuler, ça devient
beaucoup plus dur de nettoyer...Merci pour ton aide en tout cas!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
testé of course...):
class _Base(SongsMenuPlugin):
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
# XXX : pb potentiel: si deux utilisateurs utilisent ce plugin
# en meme temps, is vont se marcher sur les pieds...
destdir = "/tmp/cd_QL/"
convert_cmd = "mplayer -ao pcm:file=%(dest)s %(source)s"
normalize_cmd = "normalize -m %(path)s/*.wav"
burn_cmd = "cdrecord -v -eject %(flags)s -pad -audio %(path)s/*.wav"
burn_flags = ''
def plugin_songs(self, songs):
if not self.check_mplayer():
return
self.setup()
try:
try:
for num, song in enumerate(songs):
self.makewav(song, num)
self.normalize()
self.burn()
except Exception, e:
ErrorMessage(
None,
"Unknown error",
"An error occured while processing files:n%s." % e
).run()
finally:
self.teardown()
def check_mplayer(self):
if not util.iscommand("mplayer"):
ErrorMessage(
None,
"Mplayer not found",
"Mplayer is used to convert files in wave files."
).run()
return False
return True
def setup(self):
os.mkdir(self.destdir)
def makewav(self, song, num):
source = song['~filename']
dest = os.path.join(self.destdir, "%03d.wav" % num)
cmd = self.convert_cmd % dict(source=source, destÞst)
os.system(cmd)
def normalize(self):
os.system(self.normalize_cmd % dict(path=self.destdir))
def burn(self):
flags = self.burn_flags
cmd = self.burn_cmd % dict(path=self.destdir, flags=flags)
os.system(cmd)
def teardown(self):
shutil.rmtree(self.destir)
class DAO(_Base):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
burn_flags = '-dao'
class TAO(_Base):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
# on exporte seulement ces deux classes
__all__ = ['DAO', 'TAO']
On 2006-10-23, Bruno Desthuilliers <onurb@xiludom.gro> wrote:
Brice wrote:
Merci pour ton aide! Au final le plugin marche bien! en voici le code:
(snip)
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
s/adapté/copié-collé/
Escroc !-)
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
Correction : après lecture de la doc, je n'en suis plus si sûr. Anyway,
regarde du côté de subprocess...
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Je suis d'accor avec ta remarque. Le truc est d'abord pour moi d'avoir
un plugin qui marche et ensuite de faire quelque chose de propre
Le problème est que quand on laisse la saleté s'accumuler, ça devient
beaucoup plus dur de nettoyer...
Merci pour ton aide en tout cas!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
testé of course...):
class _Base(SongsMenuPlugin):
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
# XXX : pb potentiel: si deux utilisateurs utilisent ce plugin
# en meme temps, is vont se marcher sur les pieds...
destdir = "/tmp/cd_QL/"
convert_cmd = "mplayer -ao pcm:file=%(dest)s %(source)s"
normalize_cmd = "normalize -m %(path)s/*.wav"
burn_cmd = "cdrecord -v -eject %(flags)s -pad -audio %(path)s/*.wav"
burn_flags = ''
def plugin_songs(self, songs):
if not self.check_mplayer():
return
self.setup()
try:
try:
for num, song in enumerate(songs):
self.makewav(song, num)
self.normalize()
self.burn()
except Exception, e:
ErrorMessage(
None,
"Unknown error",
"An error occured while processing files:n%s." % e
).run()
finally:
self.teardown()
def check_mplayer(self):
if not util.iscommand("mplayer"):
ErrorMessage(
None,
"Mplayer not found",
"Mplayer is used to convert files in wave files."
).run()
return False
return True
def setup(self):
os.mkdir(self.destdir)
def makewav(self, song, num):
source = song['~filename']
dest = os.path.join(self.destdir, "%03d.wav" % num)
cmd = self.convert_cmd % dict(source=source, destÞst)
os.system(cmd)
def normalize(self):
os.system(self.normalize_cmd % dict(path=self.destdir))
def burn(self):
flags = self.burn_flags
cmd = self.burn_cmd % dict(path=self.destdir, flags=flags)
os.system(cmd)
def teardown(self):
shutil.rmtree(self.destir)
class DAO(_Base):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
burn_flags = '-dao'
class TAO(_Base):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
# on exporte seulement ces deux classes
__all__ = ['DAO', 'TAO']
On 2006-10-23, Bruno Desthuilliers wrote:Brice wrote:Merci pour ton aide! Au final le plugin marche bien! en voici le code:
(snip)
Bon, je vois que tu sais copier-coller, mais que tu n'a pas fait
beaucoup d'effort pour comprendre l'idée générale...
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
s/adapté/copié-collé/
Escroc !-)
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
Correction : après lecture de la doc, je n'en suis plus si sûr. Anyway,
regarde du côté de subprocess...
mais ça
marche donc -;)
Mouais... On peut aussi voire ça comme ça.
Je suis d'accor avec ta remarque. Le truc est d'abord pour moi d'avoir
un plugin qui marche et ensuite de faire quelque chose de propre
Le problème est que quand on laisse la saleté s'accumuler, ça devient
beaucoup plus dur de nettoyer...Merci pour ton aide en tout cas!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
testé of course...):
class _Base(SongsMenuPlugin):
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
# XXX : pb potentiel: si deux utilisateurs utilisent ce plugin
# en meme temps, is vont se marcher sur les pieds...
destdir = "/tmp/cd_QL/"
convert_cmd = "mplayer -ao pcm:file=%(dest)s %(source)s"
normalize_cmd = "normalize -m %(path)s/*.wav"
burn_cmd = "cdrecord -v -eject %(flags)s -pad -audio %(path)s/*.wav"
burn_flags = ''
def plugin_songs(self, songs):
if not self.check_mplayer():
return
self.setup()
try:
try:
for num, song in enumerate(songs):
self.makewav(song, num)
self.normalize()
self.burn()
except Exception, e:
ErrorMessage(
None,
"Unknown error",
"An error occured while processing files:n%s." % e
).run()
finally:
self.teardown()
def check_mplayer(self):
if not util.iscommand("mplayer"):
ErrorMessage(
None,
"Mplayer not found",
"Mplayer is used to convert files in wave files."
).run()
return False
return True
def setup(self):
os.mkdir(self.destdir)
def makewav(self, song, num):
source = song['~filename']
dest = os.path.join(self.destdir, "%03d.wav" % num)
cmd = self.convert_cmd % dict(source=source, destÞst)
os.system(cmd)
def normalize(self):
os.system(self.normalize_cmd % dict(path=self.destdir))
def burn(self):
flags = self.burn_flags
cmd = self.burn_cmd % dict(path=self.destdir, flags=flags)
os.system(cmd)
def teardown(self):
shutil.rmtree(self.destir)
class DAO(_Base):
PLUGIN_ID = 'Burn CD w/o blanks'
PLUGIN_NAME = _('Burn CD w/o blanks')
PLUGIN_DESC = 'Burn CD w/o blanks.'
burn_flags = '-dao'
class TAO(_Base):
PLUGIN_ID = 'Burn CD with blanks'
PLUGIN_NAME = _('Burn CD with blanks')
PLUGIN_DESC = 'Burn CD with blanks.'
# on exporte seulement ces deux classes
__all__ = ['DAO', 'TAO']
On 2006-10-24, Bruno Desthuilliers wrote:
(snip)
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
s/adapté/copié-collé/
Escroc !-)
nan!!
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
Correction : après lecture de la doc, je n'en suis plus si sûr. Anyway,
regarde du côté de subprocess...
correction: en fait les mplayer étaient lancés à la suite car la
commande comportait un & à la fin.
sinon j'ai des bases de programmation en pascal et en c (qques cours en
école) mais je ne suis pas un fan de programmation qui ne me sert
qu'à améliorer l'ergonomie de mon environnement!
donc je maîtrise plus
les script bash qu'autre chose!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
testé of course...):
presque sans faute! Seule correction:
source = song['~filename'].replace(" ","_").replace("'","'")
et non
source = song['~filename']
pour les noms de fichiers!
Maintenant il faut que je creuse pour trouver un moyen de lancer les
commandes en arrière plan les unes après les autres!
class _Base(SongsMenuPlugin):
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
# XXX : pb potentiel: si deux utilisateurs utilisent ce plugin
# en meme temps, is vont se marcher sur les pieds...
destdir = "/tmp/cd_QL/"
On 2006-10-24, Bruno Desthuilliers <bdesth.quelquechose@free.quelquepart.fr> wrote:
(snip)
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
s/adapté/copié-collé/
Escroc !-)
nan!!
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
Correction : après lecture de la doc, je n'en suis plus si sûr. Anyway,
regarde du côté de subprocess...
correction: en fait les mplayer étaient lancés à la suite car la
commande comportait un & à la fin.
sinon j'ai des bases de programmation en pascal et en c (qques cours en
école) mais je ne suis pas un fan de programmation qui ne me sert
qu'à améliorer l'ergonomie de mon environnement!
donc je maîtrise plus
les script bash qu'autre chose!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
testé of course...):
presque sans faute! Seule correction:
source = song['~filename'].replace(" ","_").replace("'","'")
et non
source = song['~filename']
pour les noms de fichiers!
Maintenant il faut que je creuse pour trouver un moyen de lancer les
commandes en arrière plan les unes après les autres!
class _Base(SongsMenuPlugin):
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
# XXX : pb potentiel: si deux utilisateurs utilisent ce plugin
# en meme temps, is vont se marcher sur les pieds...
destdir = "/tmp/cd_QL/"
On 2006-10-24, Bruno Desthuilliers wrote:
(snip)
atta, je suis d'accord avec toi, y'a bcp de copier coller mais l'idée
générale, je l'ai comprise et j'ai adapté
s/adapté/copié-collé/
Escroc !-)
nan!!
De plus il me semble toujours que "les" mplayer soient lancés les uns à
la suite des autres sans attendre que le précédent soit fini...
C'est le fonctionnement de os.system.
Correction : après lecture de la doc, je n'en suis plus si sûr. Anyway,
regarde du côté de subprocess...
correction: en fait les mplayer étaient lancés à la suite car la
commande comportait un & à la fin.
sinon j'ai des bases de programmation en pascal et en c (qques cours en
école) mais je ne suis pas un fan de programmation qui ne me sert
qu'à améliorer l'ergonomie de mon environnement!
donc je maîtrise plus
les script bash qu'autre chose!
Allez, je suis dans mon jour de bonté, je t'en remets une couche (pas
testé of course...):
presque sans faute! Seule correction:
source = song['~filename'].replace(" ","_").replace("'","'")
et non
source = song['~filename']
pour les noms de fichiers!
Maintenant il faut que je creuse pour trouver un moyen de lancer les
commandes en arrière plan les unes après les autres!
class _Base(SongsMenuPlugin):
PLUGIN_ICON = 'gtk-cdrom'
PLUGIN_VERSION = '0.1'
# XXX : pb potentiel: si deux utilisateurs utilisent ce plugin
# en meme temps, is vont se marcher sur les pieds...
destdir = "/tmp/cd_QL/"