File: //lib64/python3.6/__pycache__/compileall.cpython-36.opt-1.pyc
3
  \]/  �               @   s�   d Z ddlZddlZddlZddlZddlZddlmZ dddgZ	ddd	�Z
ddd�Zdd
d�Zddd�Z
dd� Zedkr�ee�  �Zeje� 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�rtj| �} |s0tdj| �� ytj| �}W n. tk
rl   |dk rdtdj| �� g }Y nX |j�  x�|D ]�}|dkr�q|tj	j
| |�}|d k	r�tj	j
||�}nd }tj	j|�s�|V  q||dkr||tjkr||tj
kr|tj	j|�r|tj	j|� r|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"