Your IP : 18.116.24.148


Current Path : /opt/alt/python33/lib/python3.3/site-packages/pip/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib/python3.3/site-packages/pip/__pycache__/util.cpython-33.pyc

�
7�Re$bc@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZm
Z
mZddlmZmZmZmZmZmZddlmZmZmZddlmZddlmZddlmZdd	d
ddd
ddddddddddddddddddd gZ d!d�Z!d]d"d�Z#d#d$�Z$d%d	�Z%d&d'd
�Z&ddd(d�Z(dd)d*�Z)d+d,�Z*d-d�Z+Gd.d/�d/e,�Z-e-�Z.[-ej/d0ej0�Z1d1d�Z2d2d�Z3d3d�Z4d4d�Z5d5d�Z6d6d�Z7d7d�Z8d8d�Z9d9d�Z:d:d�Z;d;d�Z<d<d=�Z=d>d?�Z>d@dA�Z?dBdC�Z@dDdE�ZAd^d_d^d]dJdK�ZCdLdM�ZDdNdO�ZEdPd�ZFdQdR�ZGd^dSd�ZHdTd�ZIdUd�ZJdVd�ZKdWd�ZLd^ddd^ejMdddXd �ZNdYdZ�ZOGd[d\�d\e,�ZPdS(`iN(uInstallationErroru
BadCommanduPipError(uWindowsErrorustring_typesu	raw_inputuconsole_to_stru	user_siteuPermissionError(u
site_packagesurunning_under_virtualenvuvirtualenv_no_global(ulogger(u
pkg_resources(uversionurmtreeudisplay_pathu
backup_dirufind_commanduaskuInfunormalize_nameusplitextuformat_sizeuis_installable_diruis_svn_pageu
file_contentsusplit_leading_diruhas_leading_dirumake_path_relativeunormalize_pathurenamesuget_terminal_sizeuget_progu
unzip_fileu
untar_fileucreate_download_cache_folderucache_downloaduunpack_fileucall_subprocessc
CsPy.tjjtjd�dkr-dtjSWntttfk
rKYnXdS(Niu__main__.pyu-cu	%s -m pipupip(u__main__.pyu-c(	uosupathubasenameusysuargvu
executableuAttributeErroru	TypeErroru
IndexError(((u!/tmp/pip-zej_zi-build/pip/util.pyuget_prog!scCstj|d|dt�dS(Nu
ignore_errorsuonerror(ushutilurmtreeurmtree_errorhandler(udiru
ignore_errors((u!/tmp/pip-zej_zi-build/pip/util.pyurmtree*scCs�|dd�\}}|tkr5|jddkpp|tkrT|jddkpp|tkop|jddksy�ntj|�jtj@tjkr��ntj|tj	�||�dS(u�On Windows, the files in .svn are read-only, so when rmtree() tries to
    remove them, an exception is thrown.  We catch that here, remove the
    read-only attribute, and hopefully continue without problems.Niiii
i(
uWindowsErroruargsuOSErroruPermissionErroruosustatust_modeuS_IREADuchmoduS_IWRITE(ufuncupathuexc_infouexctypeuvalue((u!/tmp/pip-zej_zi-build/pip/util.pyurmtree_errorhandler/s"urmtree_errorhandlercCsdtjjtjj|��}|jtj�tjj�r`d|ttj��d�}n|S(uTGives the display value for a given path, making it relative to cwd
    if possible.u.N(uosupathunormcaseuabspathu
startswithugetcwdusepulen(upath((u!/tmp/pip-zej_zi-build/pip/util.pyudisplay_pathBs#u.bakcCsKd}|}x4tjj||�rB|d7}|t|�}qW||S(u\Figure out the name of a directory to back up the given dir to
    (adding .bak, .bak2, etc)i(uosupathuexistsustr(udiruextunu	extension((u!/tmp/pip-zej_zi-build/pip/util.pyu
backup_dirKs
cCs7|dkr0tjjdd�jtj�}nt|t�rK|g}n|dkrct�}ndd�|j	�jtj�D�}tj
j|�dj	�|kr�dg}nxj|D]b}tj
j||�}x.|D]&}||}tj
j
|�r�|Sq�Wtj
j
|�r�|Sq�Wtd|��dS(u<Searches the PATH for the given command and returns its pathuPATHucSs"g|]}t|�r|�qS((ulen(u.0uext((u!/tmp/pip-zej_zi-build/pip/util.pyu
<listcomp>_s	u find_command.<locals>.<listcomp>iuCannot find command %rN(uNoneuosuenvironugetusplitupathsepu
isinstanceustring_typesuget_pathextulowerupathusplitextujoinuisfileu
BadCommand(ucmdupathsupathextupathucmd_pathuextucmd_path_ext((u!/tmp/pip-zej_zi-build/pip/util.pyufind_commandVs$$%"


cCsF|dkr-tjjddddg�}ntjjd|�}|S(u9Returns the path extensions from environment or a defaultu.COMu.EXEu.BATu.CMDuPATHEXTN(uNoneuosupathsepujoinuenvironuget(udefault_pathextupathext((u!/tmp/pip-zej_zi-build/pip/util.pyuget_pathextqs!uget_pathextcCsCx3tjjdd�j�D]}||kr|SqWt||�S(NuPIP_EXISTS_ACTIONu(uosuenvironugetusplituask(umessageuoptionsuaction((u!/tmp/pip-zej_zi-build/pip/util.pyuask_path_existsys"uask_path_existscCs}xvtjjd�r(td|��nt|�}|j�j�}||krrtd|dj|�f�q|SqdS(u@Ask the message interactively, with the given possible responsesuPIP_NO_INPUTu7No input was expected ($PIP_NO_INPUT set); question: %su<Your response (%r) was not one of the expected responses: %su, N(	uosuenvironugetu	Exceptionu	raw_inputustripuloweruprintujoin(umessageuoptionsuresponse((u!/tmp/pip-zej_zi-build/pip/util.pyuask�scBsn|EeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS(u_InfuI am bigger than everything!cCs||krdSdSdS(NTF(uTrueuFalse(uselfuother((u!/tmp/pip-zej_zi-build/pip/util.pyu__eq__�su_Inf.__eq__cCs|j|�S(N(u__eq__(uselfuother((u!/tmp/pip-zej_zi-build/pip/util.pyu__ne__�su_Inf.__ne__cCsdS(NF(uFalse(uselfuother((u!/tmp/pip-zej_zi-build/pip/util.pyu__lt__�su_Inf.__lt__cCsdS(NF(uFalse(uselfuother((u!/tmp/pip-zej_zi-build/pip/util.pyu__le__�su_Inf.__le__cCsdS(NT(uTrue(uselfuother((u!/tmp/pip-zej_zi-build/pip/util.pyu__gt__�su_Inf.__gt__cCsdS(NT(uTrue(uselfuother((u!/tmp/pip-zej_zi-build/pip/util.pyu__ge__�su_Inf.__ge__cCsdS(NuInf((uself((u!/tmp/pip-zej_zi-build/pip/util.pyu__repr__�su
_Inf.__repr__N(u__name__u
__module__u__qualname__u__doc__u__eq__u__ne__u__lt__u__le__u__gt__u__ge__u__repr__(u
__locals__((u!/tmp/pip-zej_zi-build/pip/util.pyu_Inf�su_Infu[^a-z]cCstjd|j��S(Nu-(u
_normalize_reusubulower(uname((u!/tmp/pip-zej_zi-build/pip/util.pyunormalize_name�scCsX|dkrd|ddS|d	kr4d|dS|dkrLd|dSd|SdS(
Ni�u%.1fMBg@�@i
u%ikBu%.1fkBu%ibytesi@Bi'((ubytes((u!/tmp/pip-zej_zi-build/pip/util.pyuformat_size�scCsEtjj|�sdStjj|d�}tjj|�rAdSdS(u@Return True if `path` is a directory containing a setup.py file.usetup.pyFT(uosupathuisdiruFalseujoinuisfileuTrue(upathusetup_py((u!/tmp/pip-zej_zi-build/pip/util.pyuis_installable_dir�scCs(tjd|�o'tjd|tj�S(uJReturns true if the page appears to be the index page of an svn repositoryu<title>[^<]*Revision \d+:u#Powered by (?:<a[^>]*?>)?Subversion(ureusearchuI(uhtml((u!/tmp/pip-zej_zi-build/pip/util.pyuis_svn_page�sc
Cs8t|d�}z|j�jd�SWd|j�XdS(Nurbuutf-8(uopenureadudecodeuclose(ufilenameufp((u!/tmp/pip-zej_zi-build/pip/util.pyu
file_contents�scCs�t|�}|jd�jd�}d|krvd|krZ|jd�|jd�ksfd|krv|jdd�Sd|kr�|jdd�S|dfSdS(Nu/u\iu(ustrulstripufindusplit(upath((u!/tmp/pip-zej_zi-build/pip/util.pyusplit_leading_dir�s6cCs\d}xO|D]G}t|�\}}|s/dS|dkrD|}q
||kr
dSq
WdS(uyReturns true if all the paths have the same leading path name
    (i.e., everything is in one subdirectory in an archive)NFT(uNoneusplit_leading_diruFalseuTrue(upathsu
common_prefixupathuprefixurest((u!/tmp/pip-zej_zi-build/pip/util.pyuhas_leading_dir�s
	cCs7tjj|�}tjj|�}tjjtjj|��}tjjtjj|��}|jtjj�jtjj�}|jtjj�jtjj�}x>|r�|r�|d|dkr�|j	d�|j	d�q�Wdgt
|�||g}|dgkr$dtjjStjjj|�S(u
    Make a filename relative, where the filename path, and it is
    relative to rel_to

        >>> make_relative_path('/usr/share/something/a-file.pth',
        ...                    '/usr/share/another-place/src/Directory')
        '../../../something/a-file.pth'
        >>> make_relative_path('/usr/share/something/a-file.pth',
        ...                    '/home/user/src/Directory')
        '../../../usr/share/something/a-file.pth'
        >>> make_relative_path('/usr/share/a-file.pth', '/usr/share/')
        'a-file.pth'
    iu..uu.(uosupathubasenameudirnameunormpathuabspathustripusepusplitupopulenujoin(upathurel_tou
path_filenameu
path_partsurel_to_partsu
full_parts((u!/tmp/pip-zej_zi-build/pip/util.pyumake_path_relative�s$$#
cCs(tjjtjjtjj|���S(uN
    Convert a path to its canonical, case-normalized, absolute version.

    (uosupathunormcaseurealpathu
expanduser(upath((u!/tmp/pip-zej_zi-build/pip/util.pyunormalize_pathscCs[tj|�\}}|j�jd�rQ|dd�|}|dd�}n||fS(u,Like os.path.splitext, but take off .tar toou.tariNi����i����(u	posixpathusplitextuloweruendswith(upathubaseuext((u!/tmp/pip-zej_zi-build/pip/util.pyusplitexts
cCs�tjj|�\}}|rG|rGtjj|�rGtj|�ntj||�tjj|�\}}|r�|r�ytj|�Wq�tk
r�Yq�XndS(u7Like os.renames(), but handles renaming across devices.N(	uosupathusplituexistsumakedirsushutilumoveu
removedirsuOSError(uoldunewuheadutail((u!/tmp/pip-zej_zi-build/pip/util.pyurenames!s
cCs)t�s
dSt|�jttj��S(u�
    Return True if path is within sys.prefix, if we're running in a virtualenv.

    If we're not in a virtualenv, all paths are considered "local."

    T(urunning_under_virtualenvuTrueunormalize_pathu
startswithusysuprefix(upath((u!/tmp/pip-zej_zi-build/pip/util.pyuis_local2s	uis_localcCstt|��S(u�
    Return True if given Distribution object is installed locally
    (i.e. within current virtualenv).

    Always True if we're not in a virtualenv.

    (uis_localu
dist_location(udist((u!/tmp/pip-zej_zi-build/pip/util.pyu
dist_is_local>su
dist_is_localcCs-tr%tt|��jtt��SdSdS(uF
    Return True if given Distribution is installed in user site.
    NF(u	user_siteunormalize_pathu
dist_locationu
startswithuFalse(udist((u!/tmp/pip-zej_zi-build/pip/util.pyudist_in_usersiteIsudist_in_usersitecCstt|��jtt��S(ua
    Return True if given Distribution is installed in distutils.sysconfig.get_python_lib().
    (unormalize_pathu
dist_locationu
startswithu
site_packages(udist((u!/tmp/pip-zej_zi-build/pip/util.pyudist_in_site_packagesRsudist_in_site_packagescCs)ddlm}|j|g�}|jS(u$Is distribution an editable install?i(uFrozenRequirement(upipuFrozenRequirementu	from_distueditable(udistuFrozenRequirementureq((u!/tmp/pip-zej_zi-build/pip/util.pyudist_is_editableYsudist_is_editableu
setuptoolsupipupythonu
distributecs�|rt�ndd��|r0dd��ndd��|rQdd��ndd������fdd�tjD�S(	u�
    Return a list of installed Distribution objects.

    If ``local_only`` is True (default), only return installations
    local to the current virtualenv, if in a virtualenv.

    ``skip`` argument is an iterable of lower-case project names to
    ignore; defaults to ('setuptools', 'pip', 'python'). [FIXME also
    skip virtualenv?]

    If ``editables`` is False, don't report editables.

    If ``editables_only`` is True , only report editables.

    cSsdS(NT(uTrue(ud((u!/tmp/pip-zej_zi-build/pip/util.pyu<lambda>vsu-get_installed_distributions.<locals>.<lambda>cSsdS(NT(uTrue(ud((u!/tmp/pip-zej_zi-build/pip/util.pyu<lambda>yscSst|�S(N(udist_is_editable(ud((u!/tmp/pip-zej_zi-build/pip/util.pyu<lambda>{scSs
t|�S(N(udist_is_editable(ud((u!/tmp/pip-zej_zi-build/pip/util.pyu<lambda>~scSsdS(NT(uTrue(ud((u!/tmp/pip-zej_zi-build/pip/util.pyu<lambda>�scsIg|]?}�|�r|j�kr�|�r�|�r|�qS((ukey(u.0ud(u
editable_testueditables_only_testu
local_testuskip(u!/tmp/pip-zej_zi-build/pip/util.pyu
<listcomp>�s
	u/get_installed_distributions.<locals>.<listcomp>(u
dist_is_localu
pkg_resourcesuworking_set(u
local_onlyuskipuinclude_editablesueditables_only((u
editable_testueditables_only_testu
local_testuskipu!/tmp/pip-zej_zi-build/pip/util.pyuget_installed_distributions`s	uget_installed_distributionscCs�g}t�rNt�r(|jt�qq|jt�trq|jt�qqn#trd|jt�n|jt�x@|D]8}tjj||j�d}tjj	|�rx|SqxWdS(u
    Return the path for the .egg-link file if it exists, otherwise, None.

    There's 3 scenarios:
    1) not in a virtualenv
       try to find in site.USER_SITE, then site_packages
    2) in a no-global virtualenv
       try to find in site_packages
    3) in a yes-global virtualenv
       try to find in site_packages, then site.USER_SITE  (don't look in global location)

    For #1 and #3, there could be odd cases, where there's an egg-link in 2 locations.
    This method will just return the first one found.
    u	.egg-linkN(
urunning_under_virtualenvuvirtualenv_no_globaluappendu
site_packagesu	user_siteuosupathujoinuproject_nameuisfile(udistusitesusiteuegglink((u!/tmp/pip-zej_zi-build/pip/util.pyu
egg_link_path�s		


u
egg_link_pathcCst|�}|r|S|jS(u�
    Get the site-packages location of this distribution. Generally
    this is dist.location, except in the case of develop-installed
    packages, where dist.location is the source code location, and we
    want to know where the egg-link file is.

    (u
egg_link_pathulocation(udistuegg_link((u!/tmp/pip-zej_zi-build/pip/util.pyu
dist_location�su
dist_locationcCs�dd�}|d�p-|d�p-|d�}|s|y8tjtj�tj�}||�}tj|�Wq|Yq|Xn|s�tjjdd�tjjdd	�f}nt|d�t|d�fS(
ulReturns a tuple (x, y) representing the width(x) and the height(x)
    in characters of the terminal window.cSsyLddl}ddl}ddl}|jd|j||jd��}WndSYnX|dkrkdS|dkr{dS|S(Niuhhu1234(ii(ii(ufcntlutermiosustructuunpackuioctlu
TIOCGWINSZuNone(ufdufcntlutermiosustructucr((u!/tmp/pip-zej_zi-build/pip/util.pyuioctl_GWINSZ�s	u'get_terminal_size.<locals>.ioctl_GWINSZiiiuLINESiuCOLUMNSiP(uosuopenuctermiduO_RDONLYucloseuenvironugetuint(uioctl_GWINSZucrufd((u!/tmp/pip-zej_zi-build/pip/util.pyuget_terminal_size�s$-cCs tjd�}tj|�|S(uBGet the current umask which involves having to set it temporarily.i(uosuumask(umask((u!/tmp/pip-zej_zi-build/pip/util.pyu
current_umask�s
u
current_umaskc
Cs�tjj|�s"tj|�nt|d�}z}tj|�}t|j��oX|}xO|j	�D]A}|j
}|j|�}|}	|r�t|�d}	ntjj
||	�}	tjj|	�}
tjj|
�s�tj|
�n|	jd�s|	jd�r1tjj|	�s�tj|	�q�qht|	d�}z|j|�Wd|j�|jd?}|r�tj|�r�|d@r�tj|	d	t�dB�nXqhWWd|j�XdS(
u�
    Unzip the file (with path `filename`) to the destination `location`.  All
    files are written based on system defaults and umask (i.e. permissions are
    not preserved), except that regular file members with any execute
    permissions (user, group, or world) have "chmod +x" applied after being
    written. Note that for windows, any execute changes using os.chmod are
    no-ops per the python docs.
    urbiu/u\uwbNiiIi�(uosupathuexistsumakedirsuopenuzipfileuZipFileuhas_leading_dirunamelistuinfolistufilenameureadusplit_leading_dirujoinudirnameuendswithuwriteucloseu
external_attrustatuS_ISREGuchmodu
current_umask(
ufilenameulocationuflattenuzipfpuzipuleadinguinfounameudataufnudirufpumode((u!/tmp/pip-zej_zi-build/pip/util.pyu
unzip_file�s6		

'cCs�tjj|�s"tj|�n|j�jd�sL|j�jd�rUd}nh|j�jd�s|j�jd�r�d}n5|j�jd�r�d}ntjd	|�d
}tj	||�}zt
dd�|j�D��}x�|j�D]�}|j}|d
krq�n|r8t
|�d}ntjj||�}|j�r~tjj|�s�tj|�q�q�|j�r�y|j||�Wq�tj�d}tjd||j|f�w�Yq�Xq�y|j|�}	WnHttfk
r9tj�d}tjd||j|f�w�YnXtjjtjj|��sttjtjj|��nt	|d�}
ztj|	|
�Wd|
j�X|	j�|jd@r�tj|dt�dB�q�q�WWd|j�XdS(u�
    Untar the file (with path `filename`) to the destination `location`.
    All files are written based on system defaults and umask (i.e. permissions
    are not preserved), except that regular file members with any execute
    permissions (user, group, or world) have "chmod +x" applied after being
    written.  Note that for windows, any execute changes using os.chmod are
    no-ops per the python docs.
    u.gzu.tgzur:gzu.bz2u.tbzur:bz2u.taruru-Cannot determine compression type for file %sur:*cSs(g|]}|jdkr|j�qS(upax_global_header(uname(u.0umember((u!/tmp/pip-zej_zi-build/pip/util.pyu
<listcomp>$s	uuntar_file.<locals>.<listcomp>upax_global_headeriu/In the tar file %s the member %s is invalid: %suwbNiIi�(uosupathuexistsumakedirsuloweruendswithuloggeruwarnutarfileuopenuhas_leading_diru
getmembersunameusplit_leading_dirujoinuisdiruissymu_extract_memberusysuexc_infouextractfileuKeyErroruAttributeErrorudirnameushutilucopyfileobjucloseumodeuchmodu
current_umask(ufilenameulocationumodeutaruleadingumemberufnupathueufpudestfp((u!/tmp/pip-zej_zi-build/pip/util.pyu
untar_filesf	*	*			

&cCs@tjd8_tjd|�tjd7_tj|�dS(Niu&Creating supposed download cache at %s(uloggeruindentunotifyuosumakedirs(ufolder((u!/tmp/pip-zej_zi-build/pip/util.pyucreate_download_cache_folderXscCsUtjdt|��tj||�t|dd�}|j|�|j�dS(NuStoring download in cache at %su
.content-typeuw(uloggerunotifyudisplay_pathushutilucopyfileuopenuwriteuclose(utarget_fileu
temp_locationucontent_typeufp((u!/tmp/pip-zej_zi-build/pip/util.pyucache_download_s

c
CsCtjj|�}|dksZ|jd�sZ|jd�sZ|jd�sZtj|�rzt||d|jd��n�|dks�tj|�s�t	|�dj
�dkr�t||�n~|r|jd
�rt
t|��rddlm}|d|j�j|�n*tjd|||f�td|��dS(Nuapplication/zipu.zipu	.pybundleu.whluflattenuapplication/x-gzipiu.taru.tar.gzu.tar.bz2u.tgzu.tbzu	text/htmli(u
Subversionusvn+uZCannot unpack file %s (downloaded from %s, content-type: %s); cannot detect archive formatu%Cannot determine archive format of %s(u	.pybundleu.whl(u.taru.tar.gzu.tar.bz2u.tgzu.tbz(uosupathurealpathuendswithuzipfileu
is_zipfileu
unzip_fileutarfileu
is_tarfileusplitextuloweru
untar_fileu
startswithuis_svn_pageu
file_contentsupip.vcs.subversionu
SubversionuurluunpackuloggerufataluInstallationError(ufilenameulocationucontent_typeulinku
Subversion((u!/tmp/pip-zej_zi-build/pip/util.pyuunpack_filegs$ 	cCs�|dkr�g}xd|D]\}	d|	ksOd|	ksOd|	ksOd|	krhd|	jdd�}	n|j|	�qWdj|�}n|r�d}
n	tj}
tj|d|�tj	j
�}|r�|j|�ny4tj|dtj
d	dd
|
d|d|�}Wn<tk
rNtj�d
}
tjd|
|f��YnXg}|
dk	r|j}
x�t|
j��}|s�Pn|j�}|j|d�|r||�}t|t�r�|\}}ntj||�tj|�stj�qqmtj|�qmn!|j�\}}|p3dg}|j�|jr�|r�|r�tjd|�tjdj|�d�ntd||j|f��q�tj d||j|f�n|
dk	r�dj|�SdS(Nu u
u"u'u"%s"u\"uRunning command %sustderrustdinustdoutucwduenviu#Error %s while executing command %suu Complete output from command %s:u)
----------------------------------------u*Command %s failed with error code %s in %su"Command %s had error code %s in %s(!uNoneureplaceuappendujoinu
subprocessuPIPEuloggeruloguosuenvironucopyuupdateuPopenuSTDOUTu	Exceptionusysuexc_infoufatalustdoutuconsole_to_strureadlineurstripu
isinstanceutupleustdout_level_matchesu
show_progressuinfoucommunicateuwaitu
returncodeunotifyuInstallationErroruwarn(ucmdushow_stdoutu
filter_stdoutucwduraise_on_returncodeu
command_levelucommand_descu
extra_environu	cmd_partsupartustdoutuenvuprocueu
all_outputulineulevelureturned_stdoutureturned_stderr((u!/tmp/pip-zej_zi-build/pip/util.pyucall_subprocess�sp
0		
	
	cCsEtj|�}|dkrdStj|�}tdd�|D��S(u�
    Attempt to determine if this is a pre-release using PEP386/PEP426 rules.

    Will return True if it is a pre-release and False if not. Versions are
    assumed to be a pre-release if they cannot be parsed.
    cSs)g|]}tdd�|D���qS(c	Ss1g|]'}|tdddddg�k�qS(uaubucurcudev(uset(u.0uy((u!/tmp/pip-zej_zi-build/pip/util.pyu
<listcomp>�s	u,is_prerelease.<locals>.<listcomp>.<listcomp>(uany(u.0ux((u!/tmp/pip-zej_zi-build/pip/util.pyu
<listcomp>�s	u!is_prerelease.<locals>.<listcomp>NT(uversionu_suggest_normalized_versionuNoneuTrueu_normalized_keyuany(uversu
normalizeduparsed((u!/tmp/pip-zej_zi-build/pip/util.pyu
is_prerelease�s
u
is_prereleasecBsV|EeZdZdddd�Zdd�Zdd�Zdd�Zd	d
�ZdS(uBuildDirectorycCsm|dkr!|dkr!d}n|dkrWtjdd�}|dkrWd}qWn||_||_dS(Nuprefixu
pip-build-T(uNoneuTrueutempfileumkdtempunameudelete(uselfunameudelete((u!/tmp/pip-zej_zi-build/pip/util.pyu__init__�s		uBuildDirectory.__init__cCsdj|jj|j�S(Nu	<{} {!r}>(uformatu	__class__u__name__uname(uself((u!/tmp/pip-zej_zi-build/pip/util.pyu__repr__�suBuildDirectory.__repr__cCs|jS(N(uname(uself((u!/tmp/pip-zej_zi-build/pip/util.pyu	__enter__�suBuildDirectory.__enter__cCs|j�dS(N(ucleanup(uselfuexcuvalueutb((u!/tmp/pip-zej_zi-build/pip/util.pyu__exit__�suBuildDirectory.__exit__cCs|jrt|j�ndS(N(udeleteurmtreeuname(uself((u!/tmp/pip-zej_zi-build/pip/util.pyucleanup�s	uBuildDirectory.cleanupN(	u__name__u
__module__u__qualname__uNoneu__init__u__repr__u	__enter__u__exit__ucleanup(u
__locals__((u!/tmp/pip-zej_zi-build/pip/util.pyuBuildDirectory�s
uBuildDirectoryFT(u
setuptoolsupipupythonu
distribute(Qusysushutiluosustatureu	posixpathuzipfileutarfileu
subprocessutextwraputempfileupip.exceptionsuInstallationErroru
BadCommanduPipErrorupip.backwardcompatuWindowsErrorustring_typesu	raw_inputuconsole_to_stru	user_siteuPermissionErroru
pip.locationsu
site_packagesurunning_under_virtualenvuvirtualenv_no_globalupip.loguloggerupip._vendoru
pkg_resourcesupip._vendor.distlibuversionu__all__uget_proguFalseurmtreeurmtree_errorhandlerudisplay_pathu
backup_diruNoneufind_commanduget_pathextuask_path_existsuaskuobjectu_InfuInfucompileuIu
_normalize_reunormalize_nameuformat_sizeuis_installable_diruis_svn_pageu
file_contentsusplit_leading_diruhas_leading_dirumake_path_relativeunormalize_pathusplitexturenamesuis_localu
dist_is_localudist_in_usersiteudist_in_site_packagesudist_is_editableuTrueuget_installed_distributionsu
egg_link_pathu
dist_locationuget_terminal_sizeu
current_umasku
unzip_fileu
untar_fileucreate_download_cache_folderucache_downloaduunpack_fileuDEBUGucall_subprocessu
is_prereleaseuBuildDirectory(((u!/tmp/pip-zej_zi-build/pip/util.pyu<module>s�.							
		'"-L	?

?>