Your IP : 18.227.140.251


Current Path : /opt/alt/python36/lib64/python3.6/distutils/command/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/distutils/command/__pycache__/build_scripts.cpython-36.opt-1.pyc

3

� fX�@s�dZddlZddlZddlmZddlmZddlmZddl	m
Z
ddlmZm
Z
ddlmZddlZejd	�ZGd
d�de�ZGdd
�d
ee
�ZdS)zRdistutils.command.build_scripts

Implements the Distutils 'build_scripts' command.�N)�ST_MODE)�	sysconfig)�Command)�newer)�convert_path�	Mixin2to3)�logs^#!.*python[0-9.]*([ 	].*)?$c@sHeZdZdZdddgZdgZdd�Zd
d�Zdd�Zdd�Z	dd�Z
dS)�
build_scriptsz("build" scripts (copy and fixup #! line)�
build-dir=�d�directory to "build" (copy) to�force�f�1forcibly build everything (ignore file timestamps�executable=�e�*specify final destination interpreter pathcCs"d|_d|_d|_d|_d|_dS)N)�	build_dir�scriptsr
�
executable�outfiles)�self�r�D/opt/alt/python36/lib64/python3.6/distutils/command/build_scripts.py�initialize_optionss
z build_scripts.initialize_optionscCs|jdddd�|jj|_dS)	NZbuildr	rr
r)r	r)r
r
)rr)Zset_undefined_optionsZdistributionr)rrrr�finalize_options%s
zbuild_scripts.finalize_optionscCs|jS)N)r)rrrr�get_source_files,szbuild_scripts.get_source_filescCs|js
dS|j�dS)N)r�copy_scripts)rrrr�run/szbuild_scripts.runc"Cs�|j|j�g}g}�x,|jD�] }d}t|�}tjj|jtjj|��}|j|�|j	rtt
||�rttjd|�qyt
|d�}Wn tk
r�|js��d}YnXXtj|j�\}}|jd�|j�}	|	s�|jd|�qtj|	�}
|
r�d}|
jd�p�d	}|�rtjd
||j�|j|�|j�stj�s2|j}n(tjjtjd�dtjd
�tjd�f�}tj|�}d||d}
y|
jd�Wn$tk
�r�t dj!|
���YnXy|
j|�Wn&tk
�r�t dj!|
|���YnXt
|d��}|j"|
�|j#|j$��WdQRX|�r@|j%�q|�r*|j%�|j|�|j&||�qWtj'dk�r�xh|D]`}|j�rptjd|�nDtj(|�t)d@}|dBd@}||k�rVtjd|||�tj*||��qVW||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a
        Python script in the Unix way (first line matches 'first_line_re',
        ie. starts with "\#!" and contains "python"), then adjust the first
        line to refer to the current Python interpreter as we copy.
        Fznot copying %s (up-to-date)�rbNrz%s is an empty file (skipping)T��zcopying and adjusting %s -> %s�BINDIRz
python%s%s�VERSION�EXEs#!�
zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})�wb�posixzchanging mode of %si�imz!changing mode of %s from %o to %o)+Zmkpathrrr�os�path�join�basename�appendr
rr�debug�open�OSError�dry_run�tokenize�detect_encoding�readline�seek�warn�
first_line_re�match�group�inforZpython_buildr�get_config_var�fsencode�decode�UnicodeDecodeError�
ValueError�format�write�
writelines�	readlines�closeZ	copy_file�name�statr�chmod)rr�
updated_filesZscriptZadjustZoutfiler�encoding�linesZ
first_liner7Zpost_interprZshebangZoutf�fileZoldmodeZnewmoderrrr5s�












zbuild_scripts.copy_scriptsN)r
rr)r
rr)rrr)�__name__�
__module__�__qualname__ZdescriptionZuser_optionsZboolean_optionsrrrrrrrrrr	sr	c@seZdZdd�ZdS)�build_scripts_2to3cCs&tj|�\}}|js|j|�||fS)N)r	rr0Zrun_2to3)rrrGrrrr�s
zbuild_scripts_2to3.copy_scriptsN)rKrLrMrrrrrrN�srN)�__doc__r(�rerErZ	distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr1�compiler6r	rNrrrr�<module>s


?>