ó
čžbc           @   si   d  Z  d d l m Z e d d d [ 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.]
i˙˙˙˙(   t   warnpy3ksU   the commands module has been removed in Python 3.0; use the subprocess module insteadt
   stackleveli   t   getstatusoutputt	   getoutputt	   getstatusc         C   s3   d d l  } | j 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.7/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.7/commands.pyR   0   s    c         C   sz   d d l  } | j d |  d d  } | j   } | j   } | d k rS d } n  | d d k rp | 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.7/commands.pyR   8   s     	 c         C   s%   d d  l  } t | j j |  |   S(   Ni˙˙˙˙(   R   R   t   patht   join(   t   headt   xR   (    (    s   /usr/lib/python2.7/commands.pyt   mk2argE   s    c         C   s`   d |  k r d |  d Sd } x1 |  D]) } | d k rD | d } n  | | } q% W| d } | S(   Ns   's    's    "s   \$"`s   \t   "(    (   R   t   st   c(    (    s   /usr/lib/python2.7/commands.pyR   Q   s    
N(	   t   __doc__R   R    t   __all__R   R   R   R   R   (    (    (    s   /usr/lib/python2.7/commands.pyt   <module>   s   					