a
    )Bi                      @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZg dZ	G dd de
ZG dd de jZdd ZdddZdddZedkree  dS )    N)compilemainPyCompileErrorPycInvalidationModec                   @   s   e Zd ZdddZdd ZdS )r    c                 C   st   |j }|tu r2dt||}|dd| }nd||f }t| |pJ|||| || _|| _	|| _
|pl|| _d S )Nr   zFile "<string>"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.9/py_compile.pyr   .   s    zPyCompileError.__init__c                 C   s   | j S )N)r   )r   r   r   r   __str__>   s    zPyCompileError.__str__N)r   )r   
__module____qualname__r   r   r   r   r   r   r      s   
r   c                   @   s   e Zd ZdZdZdZdS )r            N)r   r   r   	TIMESTAMPCHECKED_HASHUNCHECKED_HASHr   r   r   r   r   B   s   r   c                   C   s(   t jdrt jdstjS tjS d S )NSOURCE_DATE_EPOCHRPM_BUILD_ROOT)osenvirongetr   r    r   r   r   r   r   _get_default_invalidation_modeH   s
    
r'   Fc              
   C   s  |d u rt  }|d u rL|dkr@|dkr*|nd}tjj| |d}ntj| }tj|rld}t||n*tj	|rtj
|sd}t||tjd| }	|	| }
z|	j|
|p| |d}W n` ty& } zFt|j||p| }|d	k r|r|ntj|jd
  W Y d }~d S d }~0 0 z tj|}|rFt| W n ty\   Y n0 |tjkr|	| }tj||d |d }n"tj|
}tj|||tjk}tj | }tj!||| |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<py_compile>)	_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   s`    -



r   c                 C   s   | d u rt jdd  } d}| dgkrt j }|s4q|d}zt|dd W q$ ty } z"d}t jd|j	  W Y d }~q$d }~0  t
y } z d}t jd|  W Y d }~q$d }~0 0 q$nX| D ]R}zt|dd W q ty } z"d}t jd|j	  W Y d }~qd }~0 0 q|S )Nr   r   -r+   T)rJ   z%s
)r<   argvstdinreadlinerstripr   r   r=   r>   r   OSError)argsrvfilenameerrorr   r   r   r      s.    


&**r   __main__)NNFr(   Nr   )N)enumZimportlib._bootstrap_externalr.   importlib.machineryimportlib.utilr$   Zos.pathr<   r
   __all__r   r   Enumr   r'   r   r   r   exitr   r   r   r   <module>   s"   0  
a
&