£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

fh-  c               @   s   d  Z  d d l m Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 m
 Z
 d d   Z Gd d	   d	 e
 j  Z d
 d   Z d d d  Z d S(   u   
Main program for 2to3.
i    (   u   with_statementNi   (   u   refactorc          	   C   s:   |  j    }  | j    } t j |  | | | d d d d S(   u%   Return a unified diff of two strings.u
   (original)u   (refactored)u   linetermu    (   u
   splitlinesu   difflibu   unified_diff(   u   au   bu   filename(    (    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu
   diff_texts   s
    	u
   diff_textsc                s_   |  Ee  Z d  Z d Z d d d   f d d  Z d d   Z   f d d   Z d	 d
   Z   S(   u   StdoutRefactoringToolu2  
    A refactoring tool that can avoid overwriting its input files.
    Prints output to stdout.

    Output files can optionally be written to a different directory and or
    have an extra file suffix appended to their name for use in situations
    where you do not want to replace the input files.
    u    c	       	         sv   | |  _  | |  _ | r; | j t j  r; | t j 7} n  | |  _ | |  _ | |  _ t t	 |   j
 | | |  d S(   uF  
        Args:
            fixers: A list of fixers to import.
            options: A dict with RefactoringTool configuration.
            explicit: A list of fixers to run even if they are explicit.
            nobackups: If true no backup '.bak' files will be created for those
                files that are being refactored.
            show_diffs: Should diffs of the refactoring be printed to stdout?
            input_base_dir: The base directory for all input files.  This class
                will strip this path prefix off of filenames before substituting
                it with output_dir.  Only meaningful if output_dir is supplied.
                All files processed by refactor() must start with this path.
            output_dir: If supplied, all converted files will be written into
                this directory tree instead of input_base_dir.
            append_suffix: If supplied, all files output by this tool will have
                this appended to their filename.  Useful for changing .py to
                .py3 for example by passing append_suffix='3'.
        N(   u	   nobackupsu
   show_diffsu   endswithu   osu   sepu   _input_base_diru   _output_diru   _append_suffixu   superu   StdoutRefactoringToolu   __init__(	   u   selfu   fixersu   optionsu   explicitu	   nobackupsu
   show_diffsu   input_base_diru
   output_diru   append_suffix(   u	   __class__(    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu   __init__$   s    					u   StdoutRefactoringTool.__init__c             O   s3   |  j  j | | | f  |  j j | | |  d  S(   N(   u   errorsu   appendu   loggeru   error(   u   selfu   msgu   argsu   kwargs(    (    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu	   log_errorA   s    u   StdoutRefactoringTool.log_errorc       
   !      s  | } |  j  rk | j |  j  rO t j j |  j  | t |  j  d    } qk t d | |  j f   n  |  j r | |  j 7} n  | | k r t j j	 |  } t j j
 |  s t j |  n  |  j d | |  n  |  j s| d } t j j |  rNy t j |  WqNt j k
 rJ} z |  j d |  WYd  d  } ~ XqNXn  y t j | |  Wqt j k
 r} z |  j d | |  WYd  d  } ~ XqXn  t t |   j }	 |	 | | | |  |  j st j | |  n  | | k rt j | |  n  d  S(   Nu5   filename %s does not start with the input_base_dir %su   Writing converted %s to %s.u   .baku   Can't remove backup %su   Can't rename %s to %s(   u   _output_diru
   startswithu   _input_base_diru   osu   pathu   joinu   lenu
   ValueErroru   _append_suffixu   dirnameu   isdiru   makedirsu   log_messageu	   nobackupsu   lexistsu   removeu   erroru   renameu   superu   StdoutRefactoringToolu
   write_fileu   shutilu   copymode(
   u   selfu   new_textu   filenameu   old_textu   encodingu   orig_filenameu
   output_diru   backupu   erru   write(   u	   __class__(    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu
   write_fileE   s@    		
	
&)	u    StdoutRefactoringTool.write_filec             C   s   | r |  j  d |  n |  j  d |  |  j r t | | |  } yi |  j d  k	 r |  j - x | D] } t |  qg Wt j j   Wd  QXn x | D] } t |  q WWq t	 k
 r t
 d | f  d  SYq Xn  d  S(   Nu   No changes to %su   Refactored %su+   couldn't encode %s's diff for your terminal(   u   log_messageu
   show_diffsu
   diff_textsu   output_locku   Noneu   printu   sysu   stdoutu   flushu   UnicodeEncodeErroru   warn(   u   selfu   oldu   newu   filenameu   equalu
   diff_linesu   line(    (    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu   print_outputl   s"    	
u"   StdoutRefactoringTool.print_output(   u   __name__u
   __module__u   __qualname__u   __doc__u   __init__u	   log_erroru
   write_fileu   print_output(   u
   __locals__(    (   u	   __class__u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu   StdoutRefactoringTool   s
   'u   StdoutRefactoringToolc             C   s   t  d |  f d t j d  S(   Nu   WARNING: %su   file(   u   printu   sysu   stderr(   u   msg(    (    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu   warn   s    u   warnc                s  t  j d d  } | j d d d d d d | j d	 d
 d d d g  d d | j d d d d d d d d d d | j d d d d d g  d d | j d d d d d d | j d d d d d d | j d d d d d d  | j d! d d d d" | j d# d$ d d d d% | j d& d' d d d dO d d( | j d) d* d d d d+ d d, d d- | j d. d/ d d d d0 | j d1 d d d d+ d d, d d2 dO } i  } | j |  \ } } | j rdP | d3 <| j st d4  n  dP | _ n  | j	 r'| j
 r'| j d5  n  | j rJ| j
 rJ| j d6  n  | j rj| j rjt d7  n  | j r| j
 r| j d8  n  | j rt d9  x! t j    D] } t |  qW| sd: Sn  | st d; d< t j t d= d< t j d> Sd? | k r6dP } | j r6t d@ d< t j d> Sn  | j rLdP | dA <n  | j r^t j n t j } t j dB dC dD |  t j dE  } t t j     }	 t   f dF dG   | j D  }
 t   } | j r7dO } x; | j D]0 } | dH k r dP } q| j   dI |  qW| r.|	 j  |  n | } n |	 j  |  } | j! |
  } t" j# j$ |  } | r| j% t" j&  rt" j# j' |  rt" j# j( |  } n  | j	 r| j) t" j&  } | j* dJ | j	 |  n  t+ t, |  | t, |  | j
 | j dK | dL | j	 dM | j } | j- s| r;| j.   nR y# | j | | j | j/ | j0  Wn, t j1 k
 rt dN d< t j d SYn X| j2   n  t3 t4 | j-   S(Q   u   Main program.

    Args:
        fixer_pkg: the name of a package where the fixers are located.
        args: optional; a list of command line arguments. If omitted,
              sys.argv[1:] is used.

    Returns a suggested exit status (0, 1, 2).
    u   usageu   2to3 [options] file|dir ...u   -du   --doctests_onlyu   actionu
   store_trueu   helpu   Fix up doctests onlyu   -fu   --fixu   appendu   defaultu1   Each FIX specifies a transformation; default: allu   -ju   --processesu   storei   u   typeu   intu   Run 2to3 concurrentlyu   -xu   --nofixu'   Prevent a transformation from being runu   -lu   --list-fixesu   List available transformationsu   -pu   --print-functionu0   Modify the grammar so that print() is a functionu   -vu	   --verboseu   More verbose loggingu
   --no-diffsu#   Don't show diffs of the refactoringu   -wu   --writeu   Write back modified filesu   -nu   --nobackupsu&   Don't write backups for modified filesu   -ou   --output-diru   stru    uX   Put output files in this directory instead of overwriting the input files.  Requires -n.u   -Wu   --write-unchanged-filesuY   Also write files even if no changes were required (useful with --output-dir); implies -w.u   --add-suffixuu   Append this string to all output filenames. Requires -n if non-empty.  ex: --add-suffix='3' will generate .py3 files.u   write_unchanged_filesu&   --write-unchanged-files/-W implies -w.u%   Can't use --output-dir/-o without -n.u"   Can't use --add-suffix without -n.u@   not writing files and not printing diffs; that's not very usefulu   Can't use -n without -wu2   Available transformations for the -f/--fix option:i    u1   At least one file or directory argument required.u   fileu   Use --help to show usage.i   u   -u   Can't write to stdin.u   print_functionu   formatu   %(name)s: %(message)su   levelu   lib2to3.mainc             3   s   |  ] }   d  | Vq d S(   u   .fix_N(    (   u   .0u   fix(   u	   fixer_pkg(    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu	   <genexpr>   s    u   main.<locals>.<genexpr>u   allu   .fix_u7   Output in %r will mirror the input directory %r layout.u   input_base_diru
   output_diru   append_suffixu+   Sorry, -j isn't supported on this platform.FT(5   u   optparseu   OptionParseru
   add_optionu   Falseu
   parse_argsu   write_unchanged_filesu   Trueu   writeu   warnu
   output_diru	   nobackupsu   erroru
   add_suffixu   no_diffsu
   list_fixesu   printu   refactoru   get_all_fix_namesu   sysu   stderru   print_functionu   verboseu   loggingu   DEBUGu   INFOu   basicConfigu	   getLoggeru   setu   get_fixers_from_packageu   nofixu   fixu   addu   unionu
   differenceu   osu   pathu   commonprefixu   endswithu   sepu   isdiru   dirnameu   rstripu   infou   StdoutRefactoringToolu   sortedu   errorsu   refactor_stdinu   doctests_onlyu	   processesu   MultiprocessingUnsupportedu	   summarizeu   intu   bool(   u	   fixer_pkgu   argsu   parseru   refactor_stdinu   flagsu   optionsu   fixnameu   levelu   loggeru   avail_fixesu   unwanted_fixesu   explicitu   all_presentu   fixu	   requestedu   fixer_namesu   input_base_diru   rt(    (   u	   fixer_pkgu1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu   main   s    	
		
		"								
	u   main(   u   __doc__u
   __future__u   with_statementu   sysu   osu   difflibu   loggingu   shutilu   optparseu    u   refactoru
   diff_textsu   MultiprocessRefactoringToolu   StdoutRefactoringToolu   warnu   Noneu   main(    (    (    u1   /opt/alt/python33/lib64/python3.3/lib2to3/main.pyu   <module>   s   	g