;
Êâ"Ic               @   s’   d  Z  d d l Z d d l Z d d l Z d d d g Z Gd „  d e ƒ Z d d d „ Z d d d d „ Z	 d	 „  Z
 e d
 k o e
 ƒ  n d S(   uƒ   Implementation of the UUencode and UUdecode functions.

encode(in_file, out_file [,name, mode])
decode(in_file [, out_file, mode])
i    Nu   Erroru   encodeu   decodec             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u   /mit/python/lib/python3.0/uu.pyu   Error'   s   
c          
   C   s“  |  d k o t  j j }  n… t |  t ƒ ot | d k o t j j |  ƒ } n | d k o1 y t j	 |  ƒ j
 } WqŽ t k
 o YqŽ Xn t |  d ƒ }  n | d k o t  j j } n$ t | t ƒ o t | d ƒ } n | d k o
 d } n | d k o
 d } n | j d | d @| f j d ƒ ƒ |  j d ƒ } x= t | ƒ d	 k o) | j t j | ƒ ƒ |  j d ƒ } qEW| j d
 ƒ d S(   u   Uuencode fileu   -u   rbu   wbi¶  u   begin %o %s
iÿ  u   asciii-   i    s    
end
N(   u   sysu   stdinu   bufferu
   isinstanceu   stru   Noneu   osu   pathu   basenameu   statu   st_modeu   AttributeErroru   openu   stdoutu   writeu   encodeu   readu   lenu   binasciiu   b2a_uu(   u   in_fileu   out_fileu   nameu   modeu   data(    (    u   /mit/python/lib/python3.0/uu.pyu   encode*   s4    


$ c             C   sï  |  d k o t  j j }  n$ t |  t ƒ o t |  d ƒ }  n x¤ |  j ƒ  } | p t d ƒ ‚ n | j d ƒ p qC n | j	 d d ƒ } t
 | ƒ d k oB | d d k o1 y t | d	 d
 ƒ PWqä t k
 o Yqä XqC qC | d k oG | d j d ƒ j d ƒ } t j j | ƒ o t d | ƒ ‚ q;n | d k o t | d	 d
 ƒ } n d } | d k o t  j j } n^ t | t ƒ oM t | d ƒ } y t j j | | ƒ Wn t k
 o Yn X| } d } n |  j ƒ  } xÑ | oÉ | j d ƒ d k o³ y t j | ƒ }	 Wn€ t j k
 oq }
 z[ | d d d @d d d } t j | d | … ƒ }	 | p t  j j d |
 ƒ n WYd d }
 ~
 Xn X| j |	 ƒ |  j ƒ  } qîW| p t d ƒ ‚ n | o | j ƒ  n d S(   u   Decode uuencoded fileu   -u   rbu'   No valid begin line found in input files   begins    i   i   i    i   i   s    	
u   asciiu"   Cannot overwrite existing file: %su   wbs   endi    i?   i   i   Nu   Warning: %s
u   Truncated input fileFT(   u   sysu   stdinu   bufferu
   isinstanceu   stru   openu   readlineu   Erroru
   startswithu   splitu   lenu   intu
   ValueErroru   Noneu   rstripu   decodeu   osu   pathu   existsu   Falseu   stdoutu   chmodu   AttributeErroru   Trueu   stripu   binasciiu   a2b_uuu   stderru   writeu   close(   u   in_fileu   out_fileu   modeu   quietu   hdru	   hdrfieldsu   openedu   fpu   su   datau   vu   nbytes(    (    u   /mit/python/lib/python3.0/uu.pyu   decodeS   sd    $
 ,c              C   sÛ  d d l  }  |  j d d ƒ } | j d d d d d	 d
 d d d d ƒ| j d d d d d	 d d d d d ƒ| j ƒ  \ } } t | ƒ d k o | j d ƒ t j d ƒ n t j	 j
 } t j j
 } t | ƒ d k o | d } n t | ƒ d k o | d } n | j oc | j oH t | t ƒ o t | d ƒ } qgt t j d d ƒ t j d ƒ n t | | ƒ n` | j oH t | t ƒ o t | d ƒ } qÊt t j d d ƒ t j d ƒ n t | | ƒ d S(   u   uuencode/uudecode main programi    Nu   usageu'   usage: %prog [-d] [-t] [input [output]]u   -du   --decodeu   destu   decodeu   helpu   Decode (instead of encode)?u   defaultu   actionu
   store_trueu   -tu   --textu   textu2   data is text, encoded format unix-compatible text?i   u   incorrect number of argumentsi   u   wbu   : cannot do -t to stdoutu   rbu   : cannot do -t from stdinF(   u   optparseu   OptionParseru
   add_optionu   Falseu
   parse_argsu   lenu   erroru   sysu   exitu   stdinu   bufferu   stdoutu   decodeu   textu
   isinstanceu   stru   openu   printu   argvu   encode(   u   optparseu   parseru   optionsu   argsu   inputu   output(    (    u   /mit/python/lib/python3.0/uu.pyu   test•   s6    ((


u   __main__(   u   __doc__u   binasciiu   osu   sysu   __all__u	   Exceptionu   Erroru   Noneu   encodeu   decodeu   testu   __name__(    (    (    u   /mit/python/lib/python3.0/uu.pyu   <module>   s   )B	&