JFIF$        dd7 

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

a

[��f��@sddlZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
ddlmZ
ddlmZddlmZddlmZddlmZddlmZdd	lmZmZmZdd
lmZdZe�e �Z!e"e"d�d
d�Z#Gdd�d�Z$e"e%d�dd�Z&eej'dd�dd�Z(dS)�N)�Any�Dict)�parse)�
LinkCollector)�
PackageFinder)�get_default_environment)�SelectionPreferences)�
PipSession)�adjacent_tmp_file�check_path_owner�replace)�
ensure_dirz%Y-%m-%dT%H:%M:%SZ)�key�returncCs|��}t�|���}|S�N)�encode�hashlibZsha224Z	hexdigest)rZ	key_bytes�name�r�E/usr/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py�_get_statefile_namesrc@sBeZdZedd�dd�Zeed�dd��Zeejdd�d	d
�ZdS)�SelfCheckStateN)�	cache_dirrc
Cs�i|_d|_|r�tj�|dt|j��|_z>t|jdd��}t�	|�|_Wd�n1sZ0YWnt
ttfy~Yn0dS)NZ	selfcheckzutf-8)�encoding)
�state�statefile_path�os�path�joinrr�open�json�load�OSError�
ValueError�KeyError)�selfrZ	statefilerrr�__init__!s�.zSelfCheckState.__init__)rcCstjSr)�sys�prefix)r%rrrr2szSelfCheckState.key)�pypi_version�current_timercCs�|js
dSttj�|j��s dSttj�|j��|j|�t�|d�}t	j
|ddd�}t|j��}|�|�
��Wd�n1s�0Yzt|j|j�Wnty�Yn0dS)N)r�
last_checkr)T)�,�:)Z	sort_keysZ
separators)rrrr�dirnamer
r�strftime�SELFCHECK_DATE_FMTr �dumpsr
�writerrrr")r%r)r*r�text�frrr�save6s �,zSelfCheckState.save)	�__name__�
__module__�__qualname__�strr&�propertyr�datetimer5rrrrr sr)�pkgrcCst��|�}|duod|jkS)z�Checks whether pkg was installed by pip

    This is used not to display the upgrade message when pip is in fact
    installed by system package manager, such as dnf on Fedora.
    N�pip)r�get_distributionZ	installer)r<Zdistrrr�was_installed_by_pipYsr?)�session�optionsrcCsRt��d�}|sdS|j}d}�z
t|jd�}tj��}d|jvrzd|jvrztj�|jdt	�}||�
�dkrz|jd}|dur�tj||dd�}t
d	d	d
�}	tj||	d�}
|
�d�j}|dur�WdSt|j�}|�||�t|�}||ko�|j|jko�td�}
|
�sWdStj�d�}t�d
|||�Wn"t�yLtjddd�Yn0dS)z�Check for an update for pip.

    Limit the frequency of checks to once per week. State is stored either in
    the active virtualenv or in the user's USER_CACHE_DIR keyed off the prefix
    of the pip script path.
    r=N)rr+r)i�:	T)rAZsuppress_no_indexF)Zallow_yankedZallow_all_prereleases)�link_collector�selection_prefsz -m pipz�You are using pip version %s; however, version %s is available.
You should consider upgrading via the '%s install --upgrade pip' command.z5There was an error checking the latest version of pip)�exc_info)rr>�versionrrr;Zutcnowr�strptimer0Z
total_secondsrZcreaterrZfind_best_candidate�best_candidater9r5�
parse_versionZbase_versionr?r'�
executable�loggerZwarning�	Exception�debug)r@rAZinstalled_distZpip_versionr)rr*r+rBrC�finderrGZremote_versionZlocal_version_is_olderZpip_cmdrrr�pip_self_version_checkcsj

�
���

����rN))r;rr ZloggingZoptparseZos.pathrr'�typingrrZpip._vendor.packaging.versionrrHZpip._internal.index.collectorrZ"pip._internal.index.package_finderrZpip._internal.metadatarZ$pip._internal.models.selection_prefsrZpip._internal.network.sessionr	Zpip._internal.utils.filesystemr
rrZpip._internal.utils.miscr
r0Z	getLoggerr6rJr9rr�boolr?ZValuesrNrrrr�<module>s*
9
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