N
εωO5c       s[   d  Z  k Z k Z k Z d e d  Z d d d  Z d   Z e d j o 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.

c 
   sγ  d G|  Gd GHy t i |   } Wn% t i j
 o d G|  GHg  } n X| i   x| d r} t i i |  |  } | o t i i | |  } n t } t i i |  oΐ | d  | d f \ } } | d j o d G| Gd GHy t i | t |  Wnh t j
 o t  nQ t t i  t d  j o t i }	 n t i i }	 d	 G|	 d
 Gt i GHn Xn nm | d j oD | t i j o4 | t i j o$ t i i |  o t i i |  o t | | d |  n q[ Wd S(   sF  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)

    s   Listings   ...s
   Can't listi    i   s   .pys	   Compilings    s   Sorry:s   :i   N(   s   dirs   oss   listdirs   namess   errors   sorts   names   paths   joins   fullnames   ddirs   dfiles   Nones   isfiles   heads   tails
   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   namess   names   fullnames   dfiles   heads   tails   exc_type_names4   /var/tmp/python-root/usr/lib/python1.5/compileall.pys   compile_dir s<    
 	
	 
Ti
   c    sO   xH t  i d r; } | p | t i j o |  o	 d GHn t | |  q Wd 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)

    i    s   Skipping current directoryN(   s   syss   paths   dirs   oss   curdirs   skip_curdirs   compile_dirs	   maxlevels(   s   skip_curdirs	   maxlevelss   dirs4   /var/tmp/python-root/usr/lib/python1.5/compileall.pys   compile_path? s      	i   i    c  	   sI  k  }  y# |  i  t i d d  \ } } Wn> |  i j
 o/ } | GHd GHd GHd GHd GHt i d  n Xd } t	 } xD | d	 r: \ } } | d
 j o
 d	 } n | d j o
 | } n q W| o- t |  d j o d GHt i d  n n y9 | o' x  | d	 r } t | | |  qWn t   Wn t j
 o d GHn Xd S(   s   Script main program.i   s   ld:s3   usage: compileall [-l] [-d destdir] [directory ...]s   -l: don't recurse downs7   -d destdir: purported directory name for error messagess'   if no arguments, -l sys.path is assumedi   i
   i    s   -ls   -ds1   -d destdir require exactly one directory arguments   
[interrupt]N(   s   getopts   syss   argvs   optss   argss   errors   msgs   exits	   maxlevelss   Nones   ddirs   os   as   lens   dirs   compile_dirs   compile_paths   KeyboardInterrupt(	   s   getopts   optss   argss   msgs	   maxlevelss   ddirs   os   as   dirs4   /var/tmp/python-root/usr/lib/python1.5/compileall.pys   mainN s>     #	  
 	 s   __main__N(	   s   __doc__s   oss   syss
   py_compiles   Nones   compile_dirs   compile_paths   mains   __name__(    s4   /var/tmp/python-root/usr/lib/python1.5/compileall.pys   ? s   ,	