‡Æ
ÎMö9c       s}   d  Z  d k Z d k Z d k Z d k Z d e d d „ Z d d d d „ Z d „  Z e	 d j o e i
 e ƒ  ƒ n d S(	   sí  Module/script to "compile" all .py files to .pyc (or .pyo) file.

When called as a script with arguments, this compiles the directories
given as arguments recursively; the -l option prevents it from
recursing into directories.

Without arguments, if compiles all modules on sys.path, without
recursing into subdirectories.  (Even though it should do so for
packages -- for now, you'll have to deal with packages separately.)

See module py_compile for details of the actual byte-compilation.

Nc    sy  d G|  Gd GHy t i |  ƒ } Wn% t i j
 o d G|  GHg  } n X| i ƒ  d } x| d r} t i i	 |  | ƒ } | o t i i	 | | ƒ } n t } t i i | ƒ oI| d  | d f \ }	 }
 |
 d j o| t o d p d	 } t i | ƒ t i } y t i | ƒ t i } Wn t i j
 o d } n X| | j o | o qa n d
 G| Gd GHy t i | t | ƒ Wnn t j
 o t ‚ nW t t i ƒ t d ƒ j o t i } n t i i } d G| d Gt i  GHd } n Xn np | d j oD | t i" j o4 | t i# j o$ t i i$ | ƒ o t i i% | ƒ o t& | | d | | ƒ n qa W| Sd S(   s  Byte-compile all modules in the given directory tree.

    Arguments (only dir is required):

    dir:       the directory to byte-compile
    maxlevels: maximum recursion level (default 10)
    ddir:      if given, purported directory name (this is the
               directory name that will show up in error messages)
    force:     if 1, force compilation, even if timestamps are up-to-date

    s   Listings   ...s
   Can't listi   i    i   s   .pys   cs   os	   Compilings    s   Sorry:s   :N('   s   dirs   oss   listdirs   namess   errors   sorts   successs   names   paths   joins   fullnames   ddirs   dfiles   Nones   isfiles   heads   tails	   __debug__s   cfiles   stats   ST_MTIMEs   ftimes   ctimes   forces
   py_compiles   compiles   KeyboardInterrupts   types   syss   exc_types   exc_type_names   __name__s	   exc_values	   maxlevelss   curdirs   pardirs   isdirs   islinks   compile_dir(   s   dirs	   maxlevelss   ddirs   forces   namess   successs   names   fullnames   dfiles   heads   tails   cfiles   ftimes   ctimes   exc_type_names'   /mit/python/lib/python2.0/compileall.pys   compile_dir sR     	
	    
Ti
   i    c    sh   d } xW t i d rJ } | p | t i j o |  o	 d GHn | o t | | t	 | ƒ } q W| Sd S(   sç   Byte-compile all module on sys.path.

    Arguments (all optional):

    skip_curdir: if true, skip current directory (default true)
    maxlevels:   max recursion level (default 0)
    force: as for compile_dir() (default 0)

    i   i    s   Skipping current directoryN(   s   successs   syss   paths   dirs   oss   curdirs   skip_curdirs   compile_dirs	   maxlevelss   Nones   force(   s   skip_curdirs	   maxlevelss   forces   successs   dirs'   /mit/python/lib/python2.0/compileall.pys   compile_pathI s    	  	 i   c     sŒ  d k  }  y# |  i  t i d d ƒ \ } } WnC |  i j
 o4 } | GHd GHd GHd GHd GHd GHt i d	 ƒ n Xd
 } t	 } d } x[ | d rQ \ } } | d j o
 d } n | d j o
 | } n | d j o
 d } n q W| o- t | ƒ d j o d GHt i d	 ƒ n n d }	 yG | o3 x, | d r" }
 |	 o t |
 | | | ƒ }	 q/Wn
 t ƒ  }	 Wn t j
 o d GHd }	 n X|	 Sd S(   s   Script main program.Ni   s   lfd:s8   usage: compileall [-l] [-f] [-d destdir] [directory ...]s   -l: don't recurse downs3   -f: force rebuild even if timestamps are up-to-dates7   -d destdir: purported directory name for error messagess1   if no directory arguments, -l sys.path is assumedi   i
   i    s   -ls   -ds   -fs1   -d destdir require exactly one directory arguments   
[interrupt](   s   getopts   syss   argvs   optss   argss   errors   msgs   exits	   maxlevelss   Nones   ddirs   forces   os   as   lens   successs   dirs   compile_dirs   compile_paths   KeyboardInterrupt(   s   getopts   optss   argss   msgs	   maxlevelss   ddirs   forces   os   as   successs   dirs'   /mit/python/lib/python2.0/compileall.pys   main[ sL     	#	  
 
 	 $s   __main__(   s   __doc__s   oss   stats   syss
   py_compiles   Nones   compile_dirs   compile_paths   mains   __name__s   exit(    s'   /mit/python/lib/python2.0/compileall.pys   ? s   				5	$