Your IP : 18.119.164.231


Current Path : /proc/self/root/proc/self/root/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/
Upload File :
Current File : //proc/self/root/proc/self/root/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pyc

�
�V~gc@s�ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZd�Zd�Z
d�Zd�Zd�Zd�Zd�ZdS(	i����Nc	Cs�tjdd�}|jddd�|jddddd	d
dtjj�|j�}d}ytt|��GHWn't	k
r�}d
j
|�GHd}nXtjd�dS(Ntdescriptions,Recreate wheel of package with given RECORD.trecord_paththelpsPath to RECORD files-os--output-dirs>Dir where to place the wheel, defaults to current working dir.tdesttoutdirtdefaultis
Failed: {}i(
targparsetArgumentParsertadd_argumenttostpathtcurdirt
parse_argstrewheel_from_recordtvarst
BaseExceptiontformattsystexit(tparsertnstretcodete((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pytrun
s

cCs3ytjSWn!tk
r.ttdtj�SXdS(skGet prefix to site-specific directory prefix where the platform
    independent Python files are installed.treal_prefixN(Rtbase_prefixtAttributeErrortgetattrtprefix(((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pyt_get_base_prefixs
cCs'ytjSWntk
r"tjSXdS(sF Get exec_prefix dir used to find the machine-specific Python library.N(Rtbase_exec_prefixRtexec_prefix(((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pyt_get_base_exec_prefix)s
cCsrg}tjddkr(tj�}ntjt�t�g�}g|D]}tjj|�rJ|^qJ}x�|D]�}d}x�|D]�}tjj
||�djtj�}gtj
|�D]}tjj
||�^q�}g|D]}	tj||	�r�|	^q�}
t|
�dkr�|
d}q�q�W|dk	r]|jtjj
|d��qu|jd�quW|S(s�Return list of paths to RECORD files for system-installed projects.

    If a project is not installed, the resulting list contains None instead
    of a path to its RECORD
    iis-[^\{0}]+\.dist-infoitRECORDN(Rtversion_infotsitetgetsitepackagesRR R	R
texiststNonetjoinRtseptlistdirtretmatchtlentappend(tprojectstrecordstsys_sitepacktsptprojectR
tdist_info_retpt
candidatestctfiltered((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pytfind_system_records0s"+

%1+cCs?tjjtjj|��}|t|�jtjj�}t||�\}}t|�}tjj||d�}t	j
|dddt	j�}tj
�}	tj|	�}
xO|D]G\}}}
|jtjj||�d|�|
j|||
g�q�W|
j|ddg�|j||	j��|j�|jS(scRecreates a whee of package with given record_path and returns path
    to the newly created wheel.s.whltmodetwtcompressiontarcnamet(R	R
tdirnameR,tstripR(tget_records_to_packtget_wheel_nameR'tzipfiletZipFiletZIP_DEFLATEDtiotBytesIOtcsvtwritertwritetwriterowtwritestrtgetvaluetclosetfilename(RRtsite_dirtrecord_relpathtto_writetto_omittnew_wheel_nametnew_wheel_patht	new_wheelt
new_recordRHtftsha_hashtsize((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pyR
Ns"
c
Cs�tjjtjj|�d�}tj|dd��%}tjj�j	|j
��}WdQXtjjtjj|�d�}tj|dd��%}tjj�j	|j
��}WdQX|jd�}|jd�}d}	g}
x1|jd	�D] }|
j
|jd
�d�q�Wdj|
�}
|jd	�jd
�d
d!\}}
td|||	|
||
g�}d
jt|��S(s.Return proper name of the wheel, without .whl.tWHEELtencodingsutf-8NtMETADATAtNametVersionR=tTagt-it.ii(R	R
R'R>tcodecstopentemailRtParsertparsestrtreadtgettget_allR-tsplittfilterR&tlist(Rtwheel_info_pathtwheel_info_filet
wheel_infot
metadata_patht
metadata_filetmetadatatdistributiontversiont	build_tagtlang_tagtttabi_tagtplat_tagtto_join((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pyRAjs !$!$%!c
CsUtjj||�}tj|dd��}|j�}WdQXtjj|�jtjj�}|t	d� d}g}g}x�|j
�D]�}|jd�}	t	|	�dkr�tjj|	d�s'|	dj
d	�s'|	djd
�s'|	djd�s'|	d|ks'|	dj
|�r7|j|	�qG|j|	�q�q�W||fS(sAccepts path of sitedir and path of RECORD file relative to it.
    Returns two lists:
    - list of files that can be written to new RECORD straight away
    - list of files that shouldn't be written or need some processing
      (pyc and pyo files, scripts)
    R[sutf-8Ns	dist-infotdatat,iis..s.pycs.pyo(R	R
R'RbRcRgR>R?R(R,t
splitlinesRjtisabst
startswithtendswithR-(
RORPtrecord_file_pathtrecord_filetrecord_contentstdata_dirRQRRtltspl((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pyR@�s"!)&#(RRbRGtemail.parserRdR	RER*R#t
subprocessRRBRRR R8R
RAR@(((s?/opt/alt/python27/lib64/python2.7/ensurepip/rewheel/__init__.pyt<module>s"		
				

?>