
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ÝPfž.  ã               @   sÎ  d dl m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d dl	m
Z
 ejde
d� yd dlZW n ek
r~   Y nNX ejdkrÌeedd ƒdk rÌyd d	lmZ W n eefk
rÂ   Y n
X ejƒ  d d
lmZmZmZ d dlmZmZ d dlmZmZ d dlmZmZm Z m!Z! d dl"m#Z#m$Z$ d dl%m&Z&m'Z' d dl%m(Z( d dl	m)Z) d dl*Z+e+j,Z,dZ-ej.e/ƒZ0ejde)d� dd„ Z1dd„ Z2dd„ Z3dd„ Z4d dd„Z5G dd„ de6ƒZ7e/dk�rÊej8e5ƒ ƒ dS )!é    )Úabsolute_importN)ÚDependencyWarningÚignore)ÚcategoryÚdarwinZOPENSSL_VERSION_NUMBERi )Úsecuretransport)ÚInstallationErrorÚCommandErrorÚPipError)Úget_installed_distributionsÚget_prog)ÚdeprecationÚdist_is_editable)ÚgitÚ	mercurialÚ
subversionÚbazaar)ÚConfigOptionParserÚUpdatingDefaultsHelpFormatter)Úget_summariesÚget_similar_commands)Úcommands_dict)ÚInsecureRequestWarningz9.0.3c                 sZ  dt jkrdS t jd jƒ dd… } tt jd ƒ}y| |d  ‰ W n tk
rZ   d‰ Y nX dd„ tƒ D ƒ‰g }y‡fd	d„| D ƒd
 }W n tk
r¢   d}Y nX tƒ }|�rÜ|dkrÂtjdƒ |dkoÔˆ j	dƒ �rJg }ˆ j
ƒ }x<tdd�D ].}|jj	|ƒrð|j| dd… krð|j|jƒ qðW |�rJx|D ]}t|ƒ �q.W tjdƒ t| ƒ }|dd„ |jjD ƒ7 }dd„ | d|d … D ƒ‰‡fdd„|D ƒ}‡ fdd„|D ƒ}x¢|D ](}	|	d
 }
|	d �rÌ|
d7 }
t|
ƒ �q®W npˆ j	dƒ�sôˆ j	dƒ�r0dd„ |jD ƒ}|j|jƒ dd„ |D ƒ}ˆdd„ |D ƒ7 ‰tdj‡ fdd„ˆD ƒƒƒ tjdƒ dS )zÃCommand and option completion for the main option parser (and options)
    and its subcommands (and options).

    Enable by sourcing one of the completion shell scripts (bash, zsh or fish).
    ZPIP_AUTO_COMPLETENZ
COMP_WORDSé   Z
COMP_CWORDÚ c             S   s   g | ]\}}|‘qS © r   )Ú.0ÚcmdZsummaryr   r   ú/usr/lib/python3.6/__init__.pyú
<listcomp>U   s    z autocomplete.<locals>.<listcomp>c                s   g | ]}|ˆ kr|‘qS r   r   )r   Úw)Úsubcommandsr   r   r   Y   s    r   ÚhelpZ	uninstallú-T)Z
local_onlyc             S   s&   g | ]}|j tjkr|jƒ |jf‘qS r   )r"   ÚoptparseÚSUPPRESS_HELPÚget_opt_stringÚnargs)r   Úoptr   r   r   r   q   s   c             S   s   g | ]}|j d ƒd ‘qS )ú=r   )Úsplit)r   Úxr   r   r   r   v   s    c                s    g | ]\}}|ˆ kr||f‘qS r   r   )r   r+   Úv)Ú	prev_optsr   r   r   w   s    c                s"   g | ]\}}|j ˆ ƒr||f‘qS r   )Ú
startswith)r   Úkr,   )Úcurrentr   r   r   y   s    r)   z--c             S   s   g | ]
}|j ‘qS r   )Úoption_list)r   Úir   r   r   r   ƒ   s    c             s   s   | ]}|D ]
}|V  q
qd S )Nr   )r   ÚitÚor   r   r   ú	<genexpr>…   s    zautocomplete.<locals>.<genexpr>c             S   s    g | ]}|j tjkr|jƒ ‘qS r   )r"   r$   r%   r&   )r   r2   r   r   r   r   ‡   s    ú c                s   g | ]}|j ˆ ƒr|‘qS r   )r.   )r   r+   )r0   r   r   r   Š   s    )ÚosÚenvironr*   ÚintÚ
IndexErrorr   Úcreate_main_parserÚsysÚexitr.   Úlowerr   ÚkeyÚappendÚprintr   ÚparserZoption_list_allZoption_groupsr1   Újoin)ZcwordsZcwordZoptionsZsubcommand_namerB   Z	installedZlcÚdistZ
subcommandZoptionZ	opt_labelZoptsr   )r0   r-   r!   r   ÚautocompleteE   s\    








rE   c              C   s¤   ddt ƒ dtƒ dœ} tf | Ž}|jƒ  tjjtjjtjjtƒƒƒ}dt	|t
jd d… f |_tjtj|ƒ}|j|ƒ d|_tƒ }dgd	d
„ |D ƒ }dj|ƒ|_|S )Nz
%prog <command> [options]FÚglobal)ZusageZadd_help_optionZ	formatterÚnameÚprogzpip %s from %s (python %s)é   Tr   c             S   s   g | ]\}}d ||f ‘qS )z%-27s %sr   )r   r2   Újr   r   r   r   ¦   s    z&create_main_parser.<locals>.<listcomp>Ú
)r   r   r   Zdisable_interspersed_argsr7   ÚpathÚdirnameÚabspathÚ__file__Ú__version__r<   ÚversionÚ
cmdoptionsZmake_option_groupZgeneral_groupZadd_option_groupÚmainr   rC   Údescription)Z	parser_kwrB   Zpip_pkg_dirZgen_optsZcommand_summariesrT   r   r   r   r;   Ž   s"    


r;   c             C   sÌ   t ƒ }|j| ƒ\}}|jr>tjj|jƒ tjjtjƒ tjƒ  | s\|d dkrlt	|ƒdkrl|j
ƒ  tjƒ  |d }|tkr®t|ƒ}d| g}|r |jd| ƒ tdj|ƒƒ‚| d d … }|j|ƒ ||fS )Nr   r"   r   zunknown command "%s"zmaybe you meant "%s"z - )r;   Ú
parse_argsrQ   r<   ÚstdoutÚwriter7   Úlinesepr=   ÚlenZ
print_helpr   r   r@   r	   rC   Úremove)ÚargsrB   Zgeneral_optionsZ	args_elseÚcmd_nameZguessÚmsgÚcmd_argsr   r   r   Ú	parseopts¬   s&    	

r_   c             C   s   d}d| krd}|S )NFz
--isolatedTr   )r[   Úisolatedr   r   r   Úcheck_isolatedÖ   s    ra   c             C   sà   | d krt jdd … } tjƒ  tƒ  yt| ƒ\}}W nJ tk
r~ } z.t jjd| ƒ t jjt	j
ƒ t jdƒ W Y d d }~X nX ytjtjdƒ W n0 tjk
rÂ } ztjd|ƒ W Y d d }~X nX t| t|ƒd�}|j|ƒS )Nr   z	ERROR: %sr   z%Ignoring error %s when setting locale)r`   )r<   Úargvr   Zinstall_warning_loggerrE   r_   r
   ÚstderrrW   r7   rX   r=   ÚlocaleÚ	setlocaleÚLC_ALLÚErrorÚloggerÚdebugr   ra   rS   )r[   r\   r^   ÚexcÚeZcommandr   r   r   rS   ß   s     rS   c               @   sL   e Zd Zf fdd„ZejdƒZejdƒZedd„ ƒZ	e
dd„ ƒZd	d
„ ZdS )ÚFrozenRequirementc             C   s   || _ || _|| _|| _d S )N)rG   ÚreqÚeditableÚcomments)ÚselfrG   rm   rn   ro   r   r   r   Ú__init__ÿ   s    zFrozenRequirement.__init__z-r(\d+)$z-(20\d\d\d\d\d\d)$c             C   s®  t jjt jj|jƒƒ}g }ddlm}m} t|ƒr®|j	|ƒr®d}y|||ƒ}W n2 t
k
r€ }	 ztjd|	ƒ d }W Y d d }	~	X nX |d kr¬tjd|ƒ |jdƒ |jƒ }d}nðd}|jƒ }|j}
t|
ƒdkrÜ|
d d dksìtd|
|f ƒ‚|
d d }| jj|ƒ}| jj|ƒ}|�s|�rž|jdƒ}|�r:|ƒ j||ƒ}|�sXtjd|ƒ |jdƒ nF|jd| ƒ |�rx|jdƒ}nd|jdƒ }d}d||| j|ƒf }| |j|||ƒS )Nr   )ÚvcsÚget_src_requirementTzYError when trying to get requirement for VCS system %s, falling back to uneditable formatz-Could not determine repository location of %sz-## !! Could not determine repository locationFr   ú==ú===z5Expected 1 spec with == or ===; specs = %r; dist = %rZsvnz(Warning: cannot find svn location for %szF## FIXME: could not find svn URL in dependency_links for this package:z3# Installing as editable to satisfy requirement %s:z{%s}z%s@%s#egg=%s)rt   ru   )r7   rL   ÚnormcaserN   ÚlocationÚpip.vcsrr   rs   r   Zget_backend_namer   rh   Zwarningr@   Zas_requirementÚspecsrY   ÚAssertionErrorÚ_rev_reÚsearchÚ_date_reZget_backendZget_locationÚgroupÚegg_nameZproject_name)ÚclsrD   Zdependency_linksrw   ro   rr   rs   rn   rm   rj   ry   rQ   Z	ver_matchZ
date_matchZsvn_backendZsvn_locationZrevr   r   r   Ú	from_dist  sf    
zFrozenRequirement.from_distc             C   s,   | j ƒ }tjd|ƒ}|r(|d |jƒ … }|S )Nz
-py\d\.\d$)r   Úrer|   Ústart)rD   rG   Úmatchr   r   r   r   I  s
    zFrozenRequirement.egg_namec             C   s2   | j }| jrd| }djt| jƒt|ƒg ƒd S )Nz-e %srK   )rm   rn   rC   Úlistro   Ústr)rp   rm   r   r   r   Ú__str__Q  s    zFrozenRequirement.__str__N)Ú__name__Ú
__module__Ú__qualname__rq   r‚   Úcompiler{   r}   Úclassmethodr�   Ústaticmethodr   r‡   r   r   r   r   rl   ý   s   

Arl   Ú__main__)N)9Z
__future__r   rd   Zloggingr7   r$   Úwarningsr<   r‚   Zpip._vendor.urllib3.exceptionsr   ÚfilterwarningsZsslÚImportErrorÚplatformÚgetattrZpip._vendor.urllib3.contribr   ÚOSErrorZinject_into_urllib3Zpip.exceptionsr   r	   r
   Z	pip.utilsr   r   r   r   rx   r   r   r   r   Zpip.baseparserr   r   Zpip.commandsr   r   r   r   Zpip.cmdoptionsZpiprR   rP   Z	getLoggerrˆ   rh   rE   r;   r_   ra   rS   Úobjectrl   r=   r   r   r   r   Ú<module>   sR   


I*	
[
