(Courriels de diversion: <terrasserai@recensons-mammifere.com> <stigmatise@tisserent-pieter.com> <subreptice@conjecturait-attenuerez.com> <beneficiez@enerve-heriterions.com> <vanter@souillures-empresserai.com> <recueillirent@inspecterent-negocies.com> <lunaire@decuver-fastueux.com> <militaient@resisteras-faconnier.com> <exponentielles@antagoniste-implorerent.com> <consisteriez@admissibilites-commotionne.com> )


Jean-Michel a écrit :

> Jean-Marc Mongrelet a écrit :
>
>   
>> Jean-Michel a écrit :
>>   
>>     
>>> J'ai même fait la modification suivante dans Multimedia.py, et le
>>> logiciel fonctionnait encore.
>>>
>>>
>>>         def set_Baffle(self,val) :
>>>                 os.popen( '/usr/bin/amarok -a "%s" '%(val) )
>>>
>>>         def set_Casque(self,val) :
>>>                 #os.popen('%s "%s" &'%(Commun.config_txt('xmms'),val) )
>>>                 os.popen('%s "%s" &'%(Commun.config_txt('xmms'),val) )
>>>
>>>
>>> Je n'ai donc pas réussi à reproduire l'anomalie décrite dans un
>>> précédent message.
>>>     
>>>       
>> Oui...
>>
>> Télécharge ce module:
>> http://mjeanmarc.chez.com/pb_webcollection/PostRequette.py
>> et remplace le.
>>
>> Dedans, j'ai désactivé le module multimédia, histoire de reproduire le bug.
>> Les os.popen qui posent problèmes se trouvent dans la fonction inPlayerList.
>> Cela n'est pas la mise en playlist dans amaroK qui pose problème, mais
>> plutôt l'écoute (au casque) dans le player secondaire, en cliquant sur
>> le champ "ss".
>> Bien sur, le chois du player secondaire est configurable...
>> Si tu exécute le script directement dans un terminal... comme ça:
>> $ ./WebCollectionServer.py
>> il te suffit de taper derrière "configure" pour configurer tout ça.
>> Et si tu tape "quit", tu termine le programme.
>>
>> Remplace ce module et visualise le pb!
>>
>> @+
>>
>> JM
>>   
>>     
>
> J'ai bien vu le problème.
>
> Toutefois, l'exécution du os.popen me semble immédiat, comme le close.
> La page web n'est pas raffraichie, mais je ne sais pas pourquoi. Elle
> est sans doute en attente de libération d'une ressource utilisée par
> lepopen?
>
>
> def inPlayerList():
>         global PARAMETRE
>         if PARAMETRE.has_key('nf') :
>                 #Multimedia.MULTIMEDIA.set_Baffle(PARAMETRE['nf'])
>                 os.popen('amarok -a "%s"'%(PARAMETRE['nf']), 'w', 0)
>         if PARAMETRE.has_key('ss') :
>                 #Multimedia.MULTIMEDIA.set_Casque(PARAMETRE['ss'])
>                 print '%s "%s"
> &'%(Commun.config_txt('xmms'),PARAMETRE['ss'])
>                 x = os.popen('%s "%s"
> &'%(Commun.config_txt('xmms'),PARAMETRE['ss']))
>                 print "exec ss done"
>                 x.close()
>                 print "close done"
>                 PARAMETRE['cs'] = PARAMETRE['ss']
>
>
>
>   

Pour moi, le problème se résout en utilisant subprocess:

exemple:


import subprocess
> def inPlayerList():
>         global PARAMETRE
>         if PARAMETRE.has_key('nf') :
>                 #Multimedia.MULTIMEDIA.set_Baffle(PARAMETRE['nf'])
>                 os.popen('amarok -a "%s"'%(PARAMETRE['nf']), 'w', 0)
>         if PARAMETRE.has_key('ss') :
>                 #Multimedia.MULTIMEDIA.set_Casque(PARAMETRE['ss'])
>                 print '%s "%s" &'%(Commun.config_txt('xmms'),PARAMETRE['ss'])
>                 #x = os.popen('%s "%s" &'%(Commun.config_txt('xmms'),PARAMETRE['ss']))
>                 p = subprocess.Popen(args = '%s "%s" &'%(Commun.config_txt('xmms'),PARAMETRE['ss']), shell=True, close_fds=True)
>                 p.poll()
>                 print "exec ss done pid = " + str(p.pid)
>                 #x.close()
>                 print "close done"
>                 PARAMETRE['cs'] = PARAMETRE['ss']
>
>   


-----------------------------------------------------------------
Les listes de diffusion du CULTe - Pour une informatique libre
http://www.CULTe.org/listes/
Pour se desabonner:
mailto:linux-31-unsubscribe@CULTe.org?subject=Cliquez_sur_ENVOYER