File: //opt/alt/python37/lib64/python3.7/__pycache__/compileall.cpython-37.pyc
B
    � f�5  �            	   @   s�   d Z ddlZddlZddlZddlZddlZddlmZ dddgZ	ddd	�Z
dd
d�Zdd� Zddd�Z
ddd�Zdd� Zedkr�ee�  �Ze�e� dS )a�  Module/script to byte-compile all .py files to .pyc 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.
�    N)�partial�compile_dir�compile_file�compile_path�
   c             c   s"  |dk rt | tj�rt�| �} |s0td�| �� yt�| �}W n. tk
rl   |dk rdtd�| �� g }Y nX |��  x�|D ]�}|dkr�q|tj	�
| |�}|d k	r�tj	�
||�}nd }tj	�|�s�||fV  q||dkr||tjkr||tj
kr|tj	�|�r|tj	�|�s|t|||d |d�E d H  q|W d S )N�   zListing {!r}...zCan't list {!r}�__pycache__r   �   )�ddir�	maxlevels�quiet)�
isinstance�os�PathLike�fspath�print�format�listdir�OSError�sort�path�join�isdir�curdir�pardir�islink�	_walk_dir)�dirr
   r   r   �names�name�fullname�dfile� r"