JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc

a

[��f��@s<dZddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZgd�Z
ed�ZdZe�d�ZGdd	�d	e�Zdeeefe
eee	ee	ed
�dd�Zdeeefe
eee	eed
�d
d�Zee	ddd�dd�Zeeeefd�dd�ZGdd�d�ZGdd�d�ZGdd�d�ZeeeefZGdd�d�ZdS) z	 PEP 610 �N)�Any�Dict�Iterable�Optional�Type�TypeVar�Union)�	DirectUrl�DirectUrlValidationError�DirInfo�ArchiveInfo�VcsInfo�Tzdirect_url.jsonz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$c@seZdZdS)r
N)�__name__�
__module__�__qualname__�rr�C/usr/lib/python3.9/site-packages/pip/_internal/models/direct_url.pyr
sr
)�d�
expected_type�key�default�returncCs4||vr|S||}t||�s0td�|||���|S)z3Get value from dictionary and verify expected type.z-{!r} has unexpected type for {} (expected {}))�
isinstancer
�format�rrrr�valuerrr�_gets
��rcCs(t||||�}|dur$t|�d���|S)Nz must have a value)rr
rrrr�
_get_required)sr�InfoType)�infosrcCsFdd�|D�}|std��t|�dkr.td��|ddus>J�|dS)NcSsg|]}|dur|�qS�Nr)�.0�inforrr�
<listcomp>3�z#_exactly_one_of.<locals>.<listcomp>z/missing one of archive_info, dir_info, vcs_info�z1more than one of archive_info, dir_info, vcs_infor)r
�len)r rrr�_exactly_one_of2s��r()�kwargsrcKsdd�|��D�S)z Make dict excluding None values.cSsi|]\}}|dur||�qSr!r)r"�k�vrrr�
<dictcomp>Br%z _filter_none.<locals>.<dictcomp>)�items)r)rrr�_filter_none@sr.c@speZdZdZdeeeeeeeedd�dd�Zeeeee	fedd�dd��Z
eee	fd	�d
d�ZdS)
r
�vcs_infoN)�vcs�	commit_id�requested_revision�resolved_revision�resolved_revision_typercCs"||_||_||_||_||_dSr!�r0r2r1r3r4)�selfr0r1r2r3r4rrr�__init__Hs
zVcsInfo.__init__�rrc	CsF|durdS|t|td�t|td�t|td�t|td�t|td�d�S)Nr0r1r2r3r4)r0r1r2r3r4)r�strr��clsrrrr�
_from_dictVs




�zVcsInfo._from_dict�rcCst|j|j|j|j|jd�S)Nr5)r.r0r2r1r3r4�r6rrr�_to_dictbs�zVcsInfo._to_dict)NNN)rrr�namer9rr7�classmethodrrr<r?rrrrr
Es��"r
c@s`eZdZdZdeedd�dd�Zeeeee	fedd�dd��Z
eee	fd	�d
d�ZdS)
r�archive_infoN)�hashrcCs
||_dSr!�rC)r6rCrrrr7oszArchiveInfo.__init__r8cCs|durdS|t|td�d�S)NrCrD)rr9r:rrrr<uszArchiveInfo._from_dictr=cCst|jd�S)NrD)r.rCr>rrrr?{szArchiveInfo._to_dict)N)rrrr@rr9r7rArrr<r?rrrrrls��"rc@s\eZdZdZd
edd�dd�Zeeee	e
fedd�dd	��Zee	e
fd
�dd�ZdS)r�dir_infoFN)�editablercCs
||_dSr!�rF)r6rFrrrr7�szDirInfo.__init__r8cCs"|durdS|t|tddd�d�S)NrFF)rrG)r�boolr:rrrr<�szDirInfo._from_dictr=cCst|jp
dd�S)NrG)r.rFr>rrrr?�szDirInfo._to_dict)F)
rrrr@rHr7rArrr9rr<r?rrrrrs��"rc@s�eZdZdeeeedd�dd�Zeed�dd�Zeed�d	d
��Z	dd�dd�Z
eeee
fdd
�dd��Zeee
fd�dd�Zeedd�dd��Zed�dd�Zed�dd�ZdS)r	N)�urlr#�subdirectoryrcCs||_||_||_dSr!)rIr#rJ)r6rIr#rJrrrr7�szDirectUrl.__init__)�netlocrcCsRd|vr|S|�dd�\}}t|jt�r@|jjdkr@|dkr@|St�|�rN|S|S)N�@r&�git)�splitrr#r
r0�
ENV_VAR_RE�match)r6rKZ	user_passZnetloc_no_user_passrrr�_remove_auth_from_netloc�s
�
��
z"DirectUrl._remove_auth_from_netlocr=cCs<tj�|j�}|�|j�}tj�|j||j|j	|j
f�}|S)z�url with user:password part removed unless it is formed with
        environment variables as specified in PEP 610, or it is ``git``
        in the case of a git URL.
        )�urllib�parse�urlsplitrIrQrK�
urlunsplit�scheme�path�query�fragment)r6ZpurlrKZsurlrrr�redacted_url�s�zDirectUrl.redacted_urlcCs|�|���dSr!)�	from_dict�to_dictr>rrr�validate�szDirectUrl.validater8cCsRtt|td�t|td�tt�t|td��t�t|td��t	�t|td��g�d�S)NrIrJrBrEr/)rIrJr#)
r	rr9rr(rr<�dictrr
r:rrrr[�s

���zDirectUrl.from_dictcCs&t|j|jd�}|j��||jj<|S)N)rIrJ)r.rZrJr#r?r@)r6�resrrrr\�s�zDirectUrl.to_dict)�srcCs|�t�|��Sr!)r[�json�loads)r;r`rrr�	from_json�szDirectUrl.from_jsoncCstj|��dd�S)NT)Z	sort_keys)ra�dumpsr\r>rrr�to_json�szDirectUrl.to_jsoncCst|jt�o|jjSr!)rr#rrFr>rrr�is_local_editable�szDirectUrl.is_local_editable)N)rrrr9rrr7rQ�propertyrZr]rArrr[r\rcrerHrfrrrrr	�s$��

r	)N)N)�__doc__ra�re�urllib.parserR�typingrrrrrrr�__all__rZDIRECT_URL_METADATA_NAME�compilerO�	Exceptionr
r9rrr(r.r
rrrr	rrrr�<module>s4$
����	'
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg