U
&�.e � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZddddgZ G dd� de
�ZG dd� de j�Z
dd � Zddd�Zdd
d�Zedkr�e�e� � dS )� N�compile�main�PyCompileError�PycInvalidationModec @ s e Zd Zddd�Zdd� ZdS )r � c C st |j }|tkr2d�t�||��}|�dd| �}nd||f }t�| |pJ||||� || _|| _ || _
|pl|| _d S )Nr zFile ""z File "%s"z
Sorry: %s: %s)�__name__�SyntaxError�join� traceback�format_exception_only�replace� Exception�__init__�
exc_type_name� exc_value�file�msg)�self�exc_typer r r r �tbtext�errmsg� r �"/usr/lib64/python3.8/py_compile.pyr . s �zPyCompileError.__init__c C s | j S )N)r )r r r r �__str__> s zPyCompileError.__str__N)r )r �
__module__�__qualname__r r r r r r r s
c @ s e Zd ZdZdZdZdS )r � � � N)r r r � TIMESTAMP�CHECKED_HASH�UNCHECKED_HASHr r r r r B s c C s( t j�d�rt j�d�stjS tjS d S )N�SOURCE_DATE_EPOCH�RPM_BUILD_ROOT)�os�environ�getr r r r r r r �_get_default_invalidation_modeH s
�r' F�����c
C s� |d krt � }|d krL|dkr@|dkr*|nd}tjj| |d�}ntj�| �}tj�|�rld}t|�|���n*tj� |�r�tj�
|�s�d}t|�|���tj�d| �} | �
| �}
z| j|
|p�| |d�}W nd tk
�r* } zDt|j||p�| �}
|d k �r|�r|
�ntj�|
jd
� W Y �d S d }~X Y nX z tj�|�}|�rJt�|� W n tk
�rb Y nX |tjk�r�| �| �}tj�||d |d �}n"tj�|
�}tj�|||tjk�}tj� | �}tj�!|||� |S )
Nr r r )�optimizationzc{} is a symlink and will be changed into a regular file if import writes a byte-compiled file to itzk{} is a non-regular file and will be changed into a regular one if import writes a byte-compiled file to itz)� _optimizer �
�mtime�size)"r' � importlib�util�cache_from_sourcer$ �path�islink�FileExistsError�format�exists�isfile� machinery�SourceFileLoader�get_data�source_to_coder
r � __class__�sys�stderr�writer �dirname�makedirsr r �
path_stats�_bootstrap_external�_code_to_timestamp_pyc�source_hash�_code_to_hash_pycr �
_calc_mode�
_write_atomic)r �cfile�dfile�doraise�optimize�invalidation_mode�quietr) r �loader�source_bytes�code�err�py_excr? �source_stats�bytecoderD �moder r r r P sd -�
�
��c C s | d krt jdd � } d}| dgkr�t j�� }|s4q�|�d�}zt|dd� W q$ tk
r� } zd}t j�d|j � W 5 d }~X Y q$ t
k
r� } zd}t j�d| � W 5 d }~X Y q$X q$nV| D ]P}zt|dd� W q� tk
�r } zd}t j�d|j � W 5 d }~X Y q�X q�|S )Nr r �-r+ T)rJ z%s
)r<