;ò
ìŒü?c           @   s   d  Z  d k Z d k Z d k Z d d g Z d e d e d d „ Z d d d d d „ Z d	 „  Z e	 d
 j o e ƒ  Z
 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.

Ns   compile_dirs   compile_pathi
   i    c         C   sÜ  | o d G|  Gd GHn y t i |  ƒ } Wn% t i j
 o d G|  GHg  } n X| i ƒ  d } xm| D]e} t i	 i
 |  | ƒ } | t j	 o t i	 i
 | | ƒ } n t } | t j	 o! | i | ƒ } | o qk qà n t i	 i | ƒ oZ| d  | d f \ } }	 |	 d j o/| t o d p d } t i | ƒ i }
 y t i | ƒ i } Wn t i j
 o d	 } n X| |
 j o | o qk n | o d
 G| Gd GHn y t i | t | t ƒ } Wna t  j
 o t  ‚ qIt i! j
 o } | i# GHd	 } qIt$ j
 o } d G| GHd	 } qIX| d	 j o
 d	 } qIqÐqk | d	 j oD | t i' j o4 | t i( j o$ t i	 i) | ƒ o t i	 i* | ƒ o/ t+ | | d | | | | ƒ o
 d	 } qÐqk qk 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
    quiet:     if 1, be quiet during compilation

    s   Listings   ...s
   Can't listi   iýÿÿÿs   .pys   cs   oi    s	   Compilings   SorryN(,   s   quiets   dirs   oss   listdirs   namess   errors   sorts   successs   names   paths   joins   fullnames   ddirs   Nones   dfiles   rxs   searchs   mos   isfiles   heads   tails	   __debug__s   cfiles   stats   st_mtimes   ftimes   ctimes   forces
   py_compiles   compiles   Trues   oks   KeyboardInterrupts   PyCompileErrors   errs   msgs   IOErrors   es	   maxlevelss   curdirs   pardirs   isdirs   islinks   compile_dir(   s   dirs	   maxlevelss   ddirs   forces   rxs   quiets   errs   heads   namess   tails   ftimes   dfiles   cfiles   es   names   oks   ctimes   successs   mos   fullname(    (    s'   /mit/python/lib/python2.3/compileall.pys   compile_dir   sb     	
    

	T!i   c         C   sl   d } x[ t i D]P } | p | t i j o |  o	 d GHq | o t | | t	 | d | ƒ} 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)
    quiet: as for compile_dir() (default 0)

    i   s   Skipping current directorys   quietN(   s   successs   syss   paths   dirs   oss   curdirs   skip_curdirs   compile_dirs	   maxlevelss   Nones   forces   quiet(   s   skip_curdirs	   maxlevelss   forces   quiets   successs   dir(    (    s'   /mit/python/lib/python2.3/compileall.pys   compile_pathU   s    
 
 	c          C   sî  d k  } y# | i  t i d d ƒ \ } } WnR | i j
 oC } | GHd GHd GHd GHd GHd GHd	 GHd
 GHd GHt i d ƒ n Xd } t	 } d } d } t	 } x™ | D]‘ \ } }  | d j o
 d } n | d j o
 |  } n | d j o
 d } n | d j o
 d } n | d j o d k } | i |  ƒ } q¦ q¦ W| o- t | ƒ d j o d GHt i d ƒ qon d }
 yP | o< xB | D]- }	 t |	 | | | | | ƒ o
 d }
 q†q†Wn
 t ƒ  }
 Wn t j
 o d GHd }
 n X|
 Sd S(   s   Script main program.Ni   s   lfqd:x:sS   usage: python compileall.py [-l] [-f] [-q] [-d destdir] [-x regexp] [directory ...]s   -l: don't recurse downs3   -f: force rebuild even if timestamps are up-to-dates   -q: quiet operations7   -d destdir: purported directory name for error messagess4      if no directory arguments, -l sys.path is assumeds<   -x regexp: skip files matching the regular expression regexps8      the regexp is search for in the full path of the filei   i
   i    s   -ls   -ds   -fs   -qs   -xs1   -d destdir require exactly one directory arguments   
[interrupt](   s   getopts   syss   argvs   optss   argss   errors   msgs   exits	   maxlevelss   Nones   ddirs   forces   quiets   rxs   os   as   res   compiles   lens   successs   dirs   compile_dirs   compile_paths   KeyboardInterrupt(   s   as   forces   ddirs	   maxlevelss   argss   rxs   quiets   os   res   dirs   successs   msgs   getopts   opts(    (    s'   /mit/python/lib/python2.3/compileall.pys   maini   sd     	#  
 
 
 
	 s   __main__(   s   __doc__s   oss   syss
   py_compiles   __all__s   Nones   compile_dirs   compile_paths   mains   __name__s   exit_statuss   exit(   s   exit_statuss   __all__s   compile_dirs
   py_compiles   compile_paths   syss   mains   os(    (    s'   /mit/python/lib/python2.3/compileall.pys   ?   s   			@	0
