[Gelistirici] Fwd: trunk/yali - yali.util:Add LC_ALL=C to subprocess call

Mete Alpaslan mete at pardus.org.tr
7 Ara 2010 Sal 14:11:07 EET


On Thursday, December 02, 2010 08:26:06 am Ozan Çağlayan wrote:
> subprocess.Popen'ın ilk parametresi liste olmalı:
>   http://docs.python.org/library/subprocess.html
> 
> ayrıca LC_ALL environment değişkeni, subprocess.Popen()'ın komut alanına
> verildiğinde çalışacağını zannetmiyorum, çalışsa da doğru bir kullanım
> değil.
> 
> 
> Modified: trunk/yali/yali/util.py
> =================================================================
> --- trunk/yali/yali/util.py	(original)
> +++ trunk/yali/yali/util.py	Thu Dec  2 01:23:26 2010
> @@ -122,11 +122,11 @@
> 
>  def run_batch(cmd, argv):
>      """Run command and report return value and output."""
> -    ctx.logger.info(_('Running %s') % "".join(cmd))
> -    cmd = "%s %s" % (cmd, ' '.join(argv))
> +    ctx.logger.info('Running %s' % "".join(cmd))
> +    cmd = "LC_ALL=C %s %s" % (cmd, ' '.join(argv))
>      p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,
> stderr=subprocess.PIPE)
>      out, err = p.communicate()
> -    ctx.logger.debug(_('return value for "%(command)s" is %(return)s') %
> {"command":cmd, "return":p.returncode})
> +    ctx.logger.debug('return value for "%(command)s" is %(return)s' %
> {"command":cmd, "return":p.returncode})
>      return (p.returncode, out, err)

Haklisin. 

Suradaki [1] gibi bir değisikliğe gittim. os.environ dan kopyaladığım çevre 
değişkenlerine LC_ALL değişkenini de ekleyip subprocess 'e parametre olarak 
aktarıyorum.

[1]http://websvn.pardus.org.tr/uludag/trunk/yali/yali/util.py?r1=33622&r2=33745 


-- 
Mete ALPASLAN

Pardus  Developer
<mete[at]pardus.org.tr>
-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20101207/1525b140/attachment-0002.htm>


Gelistirici mesaj listesiyle ilgili daha fazla bilgi