???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ž
¦ÿf¿  c               @   sÑ   d  Z  d d l m Z d d l Z d d l Z d d d g Z d Z d Z d Z d Z d	 d „  Z	 d
 d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z e e d d „ Z e e d d „ Z d S(   u   Pseudo terminal utilities.i    (   u   selectNu   openptyu   forku   spawni   i   c              C   sN   y t  j ƒ  SWn t t f k
 r( Yn Xt ƒ  \ }  } t | ƒ } |  | f S(   ud   openpty() -> (master_fd, slave_fd)
    Open a pty master/slave pair, using os.openpty() if possible.(   u   osu   openptyu   AttributeErroru   OSErroru   _open_terminalu
   slave_open(   u	   master_fdu
   slave_nameu   slave_fd(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   openpty   s    c              C   s^   y t  j ƒ  \ }  } Wn t t f k
 r0 Yn' Xt  j | ƒ } t  j | ƒ |  | f St ƒ  S(   u›   master_open() -> (master_fd, slave_name)
    Open a pty master and return the fd, and the filename of the slave end.
    Deprecated, use openpty() instead.(   u   osu   openptyu   AttributeErroru   OSErroru   ttynameu   closeu   _open_terminal(   u	   master_fdu   slave_fdu
   slave_name(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   master_open!   s    
u   master_openc           #   C   s  y d d l  }  Wn t k
 r$ Ynd Xy" |  j t j d d ƒ \ } } Wn4 t k
 r} } z t j | ƒ ‚ WYd d } ~ Xn X| | f Sxp d D]h } x_ d D]W } d | | } y t j | t j ƒ } Wn t j k
 rã wœ Yn X| d | | f SWq Wt j d ƒ ‚ d S(	   ul   Open pty master and return (master_fd, tty_name).
    SGI and generic BSD version, for when openpty() fails.i    Ni¶  u   pqrstuvwxyzPQRSTu   0123456789abcdefu   /dev/ptyu   /dev/ttyu   out of pty devices(   u   sgiu   ImportErroru   _getptyu   osu   O_RDWRu   IOErroru   erroru   open(   u   sgiu   tty_nameu	   master_fdu   msgu   xu   yu   pty_nameu   fd(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   _open_terminal1   s$    ""
u   _open_terminalc             C   s…   t  j |  t  j ƒ } y d d l m } m } Wn t k
 rG | SYn Xy$ | | | d ƒ | | | d ƒ Wn t k
 r€ Yn X| S(   u©   slave_open(tty_name) -> slave_fd
    Open the pty slave and acquire the controlling terminal, returning
    opened filedescriptor.
    Deprecated, use openpty() instead.i    (   u   ioctlu   I_PUSHu   ptemu   ldterm(   u   osu   openu   O_RDWRu   fcntlu   ioctlu   I_PUSHu   ImportErroru   IOError(   u   tty_nameu   resultu   ioctlu   I_PUSH(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu
   slave_openH   s    	u
   slave_openc              C   s<  y t  j ƒ  \ }  } Wn t t f k
 r0 Yn= X|  t k rc y t  j ƒ  Wqc t k
 r_ Yqc Xn  |  | f St ƒ  \ } } t  j ƒ  }  |  t k r%t  j ƒ  t  j | ƒ t  j	 | t
 ƒ t  j	 | t ƒ t  j	 | t ƒ | t k r÷ t  j | ƒ n  t  j t  j t ƒ t  j ƒ } t  j | ƒ n t  j | ƒ |  | f S(   ud   fork() -> (pid, master_fd)
    Fork and make the child a session leader with a controlling terminal.(   u   osu   forkptyu   AttributeErroru   OSErroru   CHILDu   setsidu   openptyu   forku   closeu   dup2u   STDIN_FILENOu   STDOUT_FILENOu   STDERR_FILENOu   openu   ttynameu   O_RDWR(   u   pidu   fdu	   master_fdu   slave_fdu   tmp_fd(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   forkZ   s0    

c             C   s3   x, | r. t  j |  | ƒ } | | d … } q Wd S(   u#   Write all the data to a descriptor.N(   u   osu   write(   u   fdu   datau   n(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   _writen‚   s    	u   _writenc             C   s   t  j |  d ƒ S(   u   Default read function.i   (   u   osu   read(   u   fd(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   _readˆ   s    u   _readc             C   s°   |  t  g } x t | g  g  ƒ \ } } } |  | k rk | |  ƒ } | sX | j |  ƒ qk t j t | ƒ n  t  | k r | t  ƒ } | s™ | j t  ƒ q© t |  | ƒ q q d S(   u   Parent copy loop.
    Copies
            pty master -> standard output   (master_read)
            standard input -> pty master    (stdin_read)N(   u   STDIN_FILENOu   selectu   removeu   osu   writeu   STDOUT_FILENOu   _writen(   u	   master_fdu   master_readu
   stdin_readu   fdsu   rfdsu   wfdsu   xfdsu   data(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   _copyŒ   s    u   _copyc             C   sù   t  |  ƒ t  d ƒ k r$ |  f }  n  t ƒ  \ } } | t k rV t j |  d |  Œ n  y& t j t ƒ } t j t ƒ d } Wn t j	 k
 r™ d } Yn Xy t
 | | | ƒ Wn7 t t f k
 rç | rã t j t t j | ƒ n  Yn Xt j | ƒ d S(   u   Create a spawned process.u    i    i   N(   u   typeu   forku   CHILDu   osu   execlpu   ttyu	   tcgetattru   STDIN_FILENOu   setrawu   erroru   _copyu   IOErroru   OSErroru	   tcsetattru	   TCSAFLUSHu   close(   u   argvu   master_readu
   stdin_readu   pidu	   master_fdu   modeu   restore(    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   spawn¡   s"    
(   u   __doc__u   selectu   osu   ttyu   __all__u   STDIN_FILENOu   STDOUT_FILENOu   STDERR_FILENOu   CHILDu   openptyu   master_openu   _open_terminalu
   slave_openu   forku   _writenu   _readu   _copyu   spawn(    (    (    u(   /opt/alt/python33/lib64/python3.3/pty.pyu   <module>   s"   (