Ñò
mÈKc           @   sF   d  Z  d d d g Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 S(
   s-  Execute shell commands via os.popen() and return status, output.

Interface summary:

       import commands

       outtext = commands.getoutput(cmd)
       (exitstatus, outtext) = commands.getstatusoutput(cmd)
       outtext = commands.getstatus(file)  # returns output of "ls -ld file"

A trailing newline is removed from the output string.

Encapsulates the basic operation:

      pipe = os.popen('{ ' + cmd + '; } 2>&1', 'r')
      text = pipe.read()
      sts = pipe.close()

 [Note:  it would be nice to add functions to interpret the exit status.]
t   getstatusoutputt	   getoutputt	   getstatusc         C   s3   d d k  } | i d t d ƒ t d t |  ƒ ƒ S(   s-   Return output of "ls -ld <file>" in a string.iÿÿÿÿNs"   commands.getstatus() is deprecatedi   s   ls -ld(   t   warningst   warnt   DeprecationWarningR   t   mkarg(   t   fileR   (    (    s   /usr/lib/python2.6/commands.pyR   !   s    c         C   s   t  |  ƒ d S(   s=   Return output (stdout or stderr) of executing cmd in a shell.i   (   R    (   t   cmd(    (    s   /usr/lib/python2.6/commands.pyR   ,   s    c         C   s~   d d k  } | i d |  d d ƒ } | i ƒ  } | i ƒ  } | d j o
 d } n | d d j o | d  } n | | f S(   s4   Return (status, output) of executing cmd in a shell.iÿÿÿÿNs   { s   ; } 2>&1t   ri    s   
(   t   ost   popent   readt   closet   None(   R   R
   t   pipet   textt   sts(    (    s   /usr/lib/python2.6/commands.pyR    4   s     
 c         C   s?   d d k  l } | d ƒ d d  k } t | i i |  | ƒ ƒ S(   Niÿÿÿÿ(   t   warnpy3ks    In 3.x, mk2arg has been removed.(   R   R   R
   R   t   patht   join(   t   headt   xR   R
   (    (    s   /usr/lib/python2.6/commands.pyt   mk2argA   s    
c         C   s~   d d k  l } | d ƒ d |  j o d |  d Sd } x3 |  D]+ } | d j o | d } n | | } qA W| d	 } | S(
   Niÿÿÿÿ(   R   s   in 3.x, mkarg has been removed.s   's    's    "s   \$"`s   \t   "(   R   R   (   R   R   t   st   c(    (    s   /usr/lib/python2.6/commands.pyR   O   s    
 
N(   t   __doc__t   __all__R   R   R    R   R   (    (    (    s   /usr/lib/python2.6/commands.pyt   <module>   s   				