File: //lib64/python3.9/__pycache__/compileall.cpython-39.opt-2.pyc
a
    �DOg�N  �                	   @   s�   d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 g d�Zddd�Zdddddd
�dd�Z
dddddd
�d
d�Zddd�Zdd� Zedkr�ee�  �Ze�e� dS )�    N)�partial)�Path)�compile_dir�compile_file�compile_pathc                 c   s�   |dk rt | tj�rt�| �} |s0td�| �� zt�| �}W n, tyj   |dk rbtd�| �� g }Y n0 |��  |D ]|}|dkr�qxtj	�
| |�}tj	�|�s�|V  qx|dkrx|tjkrx|tj
krxtj	�|�rxtj	�|�sxt||d |d�E d H  qxd S )N�   zListing {!r}...zCan't list {!r}�__pycache__r   �   )�	maxlevels�quiet)�
isinstance�os�PathLike�fspath�print�format�listdir�OSError�sort�path�join�isdir�curdir�pardir�islink�	_walk_dir)�dirr
   r   �names�name�fullname� r    �"/usr/lib64/python3.9/compileall.pyr      s2    
�
�
�r   F���r	   ��stripdir�
prependdir�
limit_sl_dest�hardlink_dupesc
                C   sN  d }|d ur$|
d us|d ur$t d��|d ur8| }
|}d }|dk rHt d��|dkrxzddlm} W n tyv   d}Y n0 |d u r�t�� }t| ||d�}d}|dk�r|d u�r|p�d }||d��D}|�tt	|||||||	|
|||
d	�|�}t
|dd
�}W d   � n1 �s0    Y  n2|D ],}t	||||||||	|
|||
d��sd}�q|S )
N�PDestination dir (ddir) cannot be used in combination with stripdir or prependdirr   z%workers must be greater or equal to 0r	   )�ProcessPoolExecutor)r   r
   T)�max_workers)�ddir�force�rxr   �legacy�optimize�invalidation_moder$   r%   r&