Your IP : 18.118.28.31


Current Path : /usr/lib64/python3.6/__pycache__/
Upload File :
Current File : //usr/lib64/python3.6/__pycache__/compileall.cpython-36.opt-2.pyc

3


 \]/�@s�ddlZddlZddlZddlZddlZddlmZdddgZddd�Z	ddd�Z
ddd�Zdd
d�Zdd�Z
edkr�ee
��Zeje�dS)�N)�partial�compile_dir�compile_file�compile_path�
ccs |dkrt|tj�rtj|�}|s0tdj|��ytj|�}Wn.tk
rl|dkrdtdj|��g}YnX|j�x�|D]�}|dkr�q|tj	j
||�}|dk	r�tj	j
||�}nd}tj	j|�s�|Vq||dkr||tjkr||tj
kr|tj	j|�r|tj	j|�r|t|||d|d�EdHq|WdS)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
rr�names�name�fullname�dfile�r"�"/usr/lib64/python3.6/compileall.pyrs0


rFr	c	Cs�d}	|dk	rP|dkrtd��n2|dkrPyddlm}	Wntk
rNd}YnXt||||d�}
d}|dk	r�|dkr�|	dk	r�|p�d}|	|d��0}|jtt||||||d�|
�}
t|
dd	�}WdQRXn&x$|
D]}t|||||||�s�d
}q�W|S)Nrz%workers must be greater or equal to 0r	)�ProcessPoolExecutor)rrr
T)Zmax_workers)r
�force�rxr�legacy�optimize)�defaultF)	�
ValueErrorZconcurrent.futuresr$�ImportErrorr�maprr�min)rrr
r%r&rr'r(�workersr$�files�successZexecutorZresults�filer"r"r#r2s6


cCs�d}|dkr"t|tj�r"tj|�}tjj|�}|dk	rFtjj||�}	nd}	|dk	rd|j|�}
|
rd|Stjj|��r�|r�|d}nB|dkr�|dkr�|nd}t	j
j||d�}nt	j
j|�}tjj|�}
|dd�|dd�}}|d	k�r�|�sXyTt
tj|�j�}tjd
t	j
j|�}t|d��}|jd�}WdQRX||k�r>|SWntk
�rVYnX|�sltd
j|��ytj|||	d|d�}Wn�tjk
�r}zdd}|dk�r�|S|�r�tdj|��ntddd�|jjtjjdd�}|j tjj�}t|�WYdd}~Xn~t!t"tfk
�rv}zLd}|dk�r2|S|�rHtdj|��ntddd�t|j#j$d|�WYdd}~XnX|dk�r�d}|S)NTr�crr	�)�optimization�z.pyz<4sl�rb�zCompiling {!r}...)r(Fz*** Error compiling {!r}...z*** )�end�backslashreplace)�errors�:���r<)%r
rrrr�basenamer�search�isfile�	importlib�util�cache_from_source�dirname�int�stat�st_mtime�structZpack�MAGIC_NUMBER�open�readrrr�
py_compile�compile�PyCompileError�msg�encode�sys�stdout�encoding�decode�SyntaxError�UnicodeError�	__class__�__name__)r r
r%r&rr'r(r0rr!Zmo�cfile�optZ	cache_dir�head�tail�mtimeZexpectZchandleZactual�ok�errrN�er"r"r#rbsx






$
c
CsXd}xNtjD]D}|s |tjkr6|r6|dkrPtd�q|oNt||d||||d�}qW|S)NTrzSkipping current directory)rr'r()rPrrrrr)Zskip_curdirrr%rr'r(r0rr"r"r#r�s

c
Cszddl}|jdd�}|jddddddd	�|jd
tddd
�|jddddd�|jdddddd�|jddddd�|jdddddd�|jd d!d"dd#d�|jd$d%d&d'd(�|jd)d*d+d,d-�|jd.d/d0td1d2�|j�}|j}|jr�ddl}|j|j�|_|j	dk	�r|j	}n|j
}|j�r�yJ|jd3k�r4tj
nt|j��$}x|D]}|j|j���qFWWdQRXWn2tk
�r�|jd4k�r�td5j|j��d6SX|jdk	�r�|j�p�d|_d7}y�|�r4xj|D]b}	tjj|	��rt|	|j|j|j|j|j��s*d6}n*t|	||j|j|j|j|j|jd8��s�d6}�q�W|St|j|j|jd9�SWn*tk
�rt|jd4k�rptd:�d6SXd7S);Nrz1Utilities to support installing Python libraries.)Zdescriptionz-lZstore_constrrz!don't recurse into subdirectories)�actionZconstr)�dest�helpz-r�	recursionzhcontrol the maximum recursion level. if `-l` and `-r` options are specified, then `-r` takes precedence.)�typerarbz-f�
store_truer%z/force rebuild even if timestamps are up to date)r`rarbz-q�countrzIoutput only error messages; -qq will suppress the error messages as well.)r`rar)rbz-br'z0use legacy (pre-PEP3147) compiled file locationsz-dZDESTDIRr
z�directory to prepend to file paths for use in compile-time tracebacks and in runtime tracebacks in cases where the source file is unavailable)�metavarrar)rbz-xZREGEXPr&zskip files matching the regular expression; the regexp is searched for in the full path of each file considered for compilationz-iZFILE�flistzzadd all the files and directories listed in FILE to the list considered for compilation; if "-", names are read from stdin)rgrarb�compile_destzFILE|DIR�*zrzero or more file and directory names to compile; if no arguments given, defaults to the equivalent of -l sys.path)rg�nargsrbz-jz	--workersr	zRun compileall concurrently)r)rdrb�-rzError reading file list {}FT)r.)r'r%rz
[interrupted]) �argparse�ArgumentParser�add_argumentrD�
parse_argsrir&�rerLrcrrhrP�stdinrI�append�striprrrrr.rrr?rr
r%r'rr�KeyboardInterrupt)
rm�parser�argsZ
compile_destsrqr�f�liner0rar"r"r#�main�s~








"



rz�__main__)Nrr���)rNFNrFr|r	r|)NFNrFr|r|)r	rFrFr|)rrP�importlib.utilr@rKrG�	functoolsr�__all__rrrrrzrWrDZexit_status�exitr"r"r"r#�<module>
s"


/
R
[

?>