§
    u”j–  ã                  ón  — 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m	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dl m!Z! d dl"m#Z# d dl$m%Z%  G d„ de¦  «        Z& ej'        e(¦  «        Z) G d„ dee¦  «        Z*d)d„Z+d*d„Z,d+d!„Z-	 	 d,d-d%„Z.d.d(„Z/dS )/é    )ÚannotationsN)ÚOrderedDict)ÚValues)Ú	TypedDict)Úparse)ÚCommand)ÚSessionCommandMixin)ÚNO_MATCHES_FOUNDÚSUCCESS)ÚCommandError)Úget_default_environment)ÚBaseDistribution)ÚPyPI)ÚPipXmlrpcTransport)Ú
indent_log)Úwrite_outputc                  ó.   — e Zd ZU ded<   ded<   ded<   dS )ÚTransformedHitÚstrÚnameÚsummaryú	list[str]ÚversionsN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úl/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/commands/search.pyr   r      s0   € € € € € € Ø€I€I�IØ€L€L�LØÐÐÑÐÐr   r   c                  ó2   — e Zd ZdZdZdZdd„Zdd„Zdd„ZdS )ÚSearchCommandz@Search for PyPI packages whose name or summary contains <query>.z
      %prog [options] <query>TÚreturnÚNonec                óš   — | j                              ddddt          j        d¬¦  «         | j                             d| j         ¦  «         d S )Nz-iz--indexÚindexÚURLz3Base URL of Python Package Index (default %default))ÚdestÚmetavarÚdefaultÚhelpr   )Úcmd_optsÚ
add_optionr   Úpypi_urlÚparserÚinsert_option_group)Úselfs    r    Úadd_optionszSearchCommand.add_options*   sW   € ØŒ× Ò ØØØØÝ”MØFð 	!ñ 	
ô 	
ð 	
ð 	Œ×'Ò'¨¨4¬=Ñ9Ô9Ð9Ð9Ð9r   Úoptionsr   Úargsr   Úintc                ó&  — |st          d¦  «        ‚|}|                      ||¦  «        }t          |¦  «        }d }t          j                             ¦   «         rt          j        ¦   «         d         }t          ||¬¦  «         |rt          S t          S )Nz)Missing required argument (search query).r   )Úterminal_width)r   ÚsearchÚtransform_hitsÚsysÚstdoutÚisattyÚshutilÚget_terminal_sizeÚprint_resultsr   r
   )r1   r3   r4   ÚqueryÚ	pypi_hitsÚhitsr7   s          r    ÚrunzSearchCommand.run6   s“   € Øð 	LÝÐJÑKÔKÐKØˆØ—K’K  wÑ/Ô/ˆ	Ý˜iÑ(Ô(ˆàˆÝŒ:×ÒÑÔð 	;Ý#Ô5Ñ7Ô7¸Ô:ˆNå�d¨>Ð:Ñ:Ô:Ð:Øð 	ÝˆNÝÐr   r@   úlist[dict[str, str]]c                ó|  — |j         }|                      |¦  «        }t          ||¦  «        }t          j                             ||¦  «        }	 |                     ||dœd¦  «        }n=# t          j        j        $ r&}d|j        › d|j	        › �}	t          |	¦  «        ‚d }~ww xY wt          |t          ¦  «        sJ ‚|S )N)r   r   ÚorzXMLRPC request failed [code: z]
)r&   Úget_default_sessionr   ÚxmlrpcÚclientÚServerProxyr8   ÚFaultÚ	faultCodeÚfaultStringr   Ú
isinstanceÚlist)
r1   r@   r3   Ú	index_urlÚsessionÚ	transportÚpypirB   ÚfaultÚmessages
             r    r8   zSearchCommand.searchF   sÒ   € Ø”Mˆ	à×*Ò*¨7Ñ3Ô3ˆå& y°'Ñ:Ô:ˆ	ÝŒ}×(Ò(¨°IÑ>Ô>ˆð	(Ø—;’;¨¸%Ð@Ð@À$ÑGÔGˆDˆDøÝŒ}Ô"ð 	(ð 	(ð 	(àW°´ÐWÐWÀEÔDUÐWÐWð õ ˜wÑ'Ô'Ð'øøøøð		(øøøõ
 ˜$¥Ñ%Ô%Ð%Ð%Ð%Øˆs   ÁA( Á(B"Á<!BÂB"N)r#   r$   )r3   r   r4   r   r#   r5   )r@   r   r3   r   r#   rD   )	r   r   r   Ú__doc__ÚusageÚignore_require_venvr2   rC   r8   r   r   r    r"   r"   #   sc   € € € € € ØJÐJð!€EàÐð
:ð 
:ð 
:ð 
:ð ð  ð  ð  ð ð ð ð ð ð r   r"   rB   rD   r#   úlist[TransformedHit]c                ór  — t          ¦   «         }| D ]†}|d         }|d         }|d         }||                     ¦   «         vr|||gdœ||<   Œ;||         d                              |¦  «         |t          ||         d         ¦  «        k    r|||         d<   Œ‡t	          |                     ¦   «         ¦  «        S )z¼
    The list from pypi is really a list of versions. We want a list of
    packages with the list of versions stored inline. This converts the
    list from pypi into one we can use.
    r   r   Úversion)r   r   r   r   )r   ÚkeysÚappendÚhighest_versionrO   Úvalues)rB   ÚpackagesÚhitr   r   r[   s         r    r9   r9   X   sË   € õ +6©-¬-€HØð 4ð 4ˆØ�6Œ{ˆØ�i”.ˆØ�i”.ˆà�x—}’}‘”Ð&Ð&àØ"Ø$˜Iðð ˆH�T‰NˆNð �TŒN˜:Ô&×-Ò-¨gÑ6Ô6Ð6ð �/¨(°4¬.¸Ô*DÑEÔEÒEÐEØ,3�˜”˜yÑ)øå�—’Ñ!Ô!Ñ"Ô"Ð"r   Úlatestr   ÚdistúBaseDistribution | Noner$   c                ó2  — |�”t          ¦   «         5  |j        | k    rt          d|j        ¦  «         nJt          d|j        ¦  «         t          | ¦  «        j        rt          d| ¦  «         nt          d| ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S d S )NzINSTALLED: %s (latest)zINSTALLED: %sz=LATEST:    %s (pre-release; install with `pip install --pre`)zLATEST:    %s)r   r[   r   Úparse_versionÚpre)rb   rc   s     r    Úprint_dist_installation_inforh   t   s÷   € ØÐÝ‰\Œ\ð 	:ð 	:ØŒ|˜vÒ%Ð%ÝÐ5°t´|ÑDÔDÐDÐDå˜_¨d¬lÑ;Ô;Ð;Ý  Ñ(Ô(Ô,ð :Ý ð5àñô ð ð õ ! °&Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð Ðs   ‘A,B
Â
BÂBr   c                óH   — t          ¦   «         }|                     | ¦  «        S )N)r   Úget_distribution)r   Úenvs     r    Úget_installed_distributionrl   …   s!   € Ý
!Ñ
#Ô
#€CØ×Ò Ñ%Ô%Ð%r   Úname_column_widthú
int | Noner7   c                óæ  — | sd S |€t          d„ | D ¦   «         ¦  «        dz   }| D ]Ë}|d         }|d         pd}t          |                     ddg¦  «        ¦  «        }|�A||z
  dz
  }|d	k    r3t          j        ||¦  «        }d
d|dz   z  z                        |¦  «        }|› d|› d�}	|	|› ›d|› �}
	 t          |
¦  «         t          |¦  «        }t          ||¦  «         Œ¼# t          $ r Y ŒÈw xY wd S )Nc                óœ   — g | ]I}t          |d          ¦  «        t          t          |                     ddg¦  «        ¦  «        ¦  «        z   ‘ŒJS )r   r   ú-)Úlenr^   Úget)Ú.0ra   s     r    ú
<listcomp>z!print_results.<locals>.<listcomp>”   sZ   € ð ð ð àõ ˜˜FœÑ$Ô$¥s­?¸3¿7º7À:ÐPSÈuÑ;UÔ;UÑ+VÔ+VÑ'WÔ'WÑWðð ð r   é   r   r   Ú r   rq   é   é
   ú
ú é   z (ú)z - )
Úmaxr^   rs   ÚtextwrapÚwrapÚjoinr   rl   rh   ÚUnicodeEncodeError)rB   rm   r7   ra   r   r   rb   Útarget_widthÚsummary_linesÚname_latestÚlinerc   s               r    r?   r?   Š   su  € ð
 ð ØˆØÐ åðð à#ðñ ô ñô ð ñð 	ð ð ð ˆØ�6Œ{ˆØ�i”.Ð& BˆÝ  §¢¨°c°UÑ!;Ô!;Ñ<Ô<ˆØÐ%Ø)Ð,=Ñ=ÀÑAˆLØ˜bÒ Ð å (¤¨g°|Ñ DÔ D�Ø #Ð):¸QÑ)>Ñ"?Ñ?×EÒEÀmÑTÔT�àÐ*Ð* Ð*Ð*Ð*ˆØÐ0Ð?Ð?Ð?°gÐ?Ð?ˆð	Ý˜ÑÔÐÝ-¨dÑ3Ô3ˆDÝ(¨°Ñ6Ô6Ð6Ð6øÝ!ð 	ð 	ð 	ØˆDð	øøøð#ð s   Â2.C!Ã!
C.Ã-C.r   r   c                ó.   — t          | t          ¬¦  «        S )N)Úkey)r~   rf   )r   s    r    r^   r^   ±   s   € Ýˆx�]Ð+Ñ+Ô+Ð+r   )rB   rD   r#   rY   )rb   r   rc   rd   r#   r$   )r   r   r#   rd   )NN)rB   rY   rm   rn   r7   rn   r#   r$   )r   r   r#   r   )0Ú
__future__r   Úloggingr=   r:   r   Úxmlrpc.clientrH   Úcollectionsr   Úoptparser   Útypingr   Úpip._vendor.packaging.versionr   rf   Úpip._internal.cli.base_commandr   Úpip._internal.cli.req_commandr	   Úpip._internal.cli.status_codesr
   r   Úpip._internal.exceptionsr   Úpip._internal.metadatar   Úpip._internal.metadata.baser   Úpip._internal.models.indexr   Úpip._internal.network.xmlrpcr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Ú	getLoggerr   Úloggerr"   r9   rh   rl   r?   r^   r   r   r    ú<module>rœ      s1  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø €€€Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à @Ð @Ð @Ð @Ð @Ð @à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø =Ð =Ð =Ð =Ð =Ð =Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø :Ð :Ð :Ð :Ð :Ð :Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø +Ð +Ð +Ð +Ð +Ð +Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð �Yñ ô ð ð 
ˆÔ	˜8Ñ	$Ô	$€ð2ð 2ð 2ð 2ð 2�GÐ0ñ 2ô 2ð 2ðj#ð #ð #ð #ð8:ð :ð :ð :ð"&ð &ð &ð &ð %)Ø!%ð$ð $ð $ð $ð $ðN,ð ,ð ,ð ,ð ,ð ,r   