File: //proc/3/root/lib64/python2.7/compileall.pyo
�
zfc           @   s�   d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d d g Z d d d d d d � Z d d d d d	 � Z	 d
 d d d d � Z
 d �  Z d
 �  Z e
 d k r� e e �  � Z e j e � n  d S(   s�  Module/script to byte-compile all .py files to .pyc (or .pyo) files.
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.
i����Nt   compile_dirt   compile_filet   compile_pathi
   i    c         C   sc  | s d G|  Gd GHn  y t  j |  � } Wn# t  j k
 rN d G|  GHg  } n X| j �  d } x� | D]� } t  j j |  | � }	 | d k	 r� t  j j | | � }
 n d }
 t  j j |	 � s� t |	 | | | | � s[d } q[qf | d k rf | t  j	 k rf | t  j
 k rf t  j j |	 � rf t  j j |	 � rf t |	 | d |
 | | | � s[d } q[qf qf W| 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:      the directory that will be prepended to the path to the
               file as it is compiled into each byte-code file.
    force:     if 1, force compilation, even if timestamps are up-to-date
    quiet:     if 1, be quiet during compilation
    t   Listings   ...s
   Can't listi   i    N(
   t   ost   listdirt   errort   sortt   patht   joint   Nonet   isdirR   t   curdirt   pardirt   islinkR    (   t   dirt	   maxlevelst   ddirt   forcet   rxt   quiett   namest   successt   namet   fullnamet   dfile(    (    s"