Ë
    ”U.j–  ã                  ór  — 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jN                  e(«      Z) G d„ dee«      Z*dd„Z+dd„Z,dd„Z-	 	 d	 	 	 	 	 	 	 dd„Z.dd„Z/y) é    )Ú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<   y)ÚTransformedHitÚstrÚnameÚsummaryú	list[str]ÚversionsN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    ú_C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pip/_internal/commands/search.pyr   r      s   … Ø
ƒIØƒLØÔr   r   c                  ó0   — e Zd ZdZdZdZdd„Zd	d„Zd
d„Zy)ÚSearchCommandz@Search for PyPI packages whose name or summary contains <query>.z
      %prog [options] <query>Tc                ó®   — | j                   j                  ddddt        j                  d¬«       | j                  j                  d| j                   «       y )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*   sI   € Ø�‰× Ñ ØØØØÜ—M‘MØFð 	!ô 	
ð 	�‰×'Ñ'¨¨4¯=©=Õ9r   c                óþ   — |st        d«      ‚|}| j                  ||«      }t        |«      }d }t        j                  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
   )r/   ÚoptionsÚargsÚqueryÚ	pypi_hitsÚhitsr2   s          r    ÚrunzSearchCommand.run6   sp   € ÙÜÐJÓKÐKØˆØ—K‘K  wÓ/ˆ	Ü˜iÓ(ˆàˆÜ�:‰:×ÑÔÜ#×5Ñ5Ó7¸Ñ:ˆNä�d¨>Õ:ÙÜˆNÜÐr   c                ó€  — |j                   }| j                  |«      }t        ||«      }t        j                  j                  ||«      }	 |j                  ||dœd«      }t        |t        «      sJ ‚|S # t        j                  j                  $ r,}d|j                  › d|j                  › �}	t        |	«      ‚d }~ww xY w)N)r   r   ÚorzXMLRPC request failed [code: z]
)r$   Úget_default_sessionr   ÚxmlrpcÚclientÚServerProxyr3   ÚFaultÚ	faultCodeÚfaultStringr   Ú
isinstanceÚlist)
r/   r=   r;   Ú	index_urlÚsessionÚ	transportÚpypir?   ÚfaultÚmessages
             r    r3   zSearchCommand.searchF   s¸   € Ø—M‘Mˆ	à×*Ñ*¨7Ó3ˆä& y°'Ó:ˆ	Ü�}‰}×(Ñ(¨°IÓ>ˆð	(Ø—;‘;¨¸%Ñ@À$ÓGˆDô ˜$¤Ô%Ð%Ð%Øˆøô �}‰}×"Ñ"ò 	(à/°·±Ð/@ÀÀE×DUÑDUÐCVÐWð ô ˜wÓ'Ð'ûð		(ús   ÁA4 Á4B=Â'B8Â8B=N)ÚreturnÚNone)r;   r   r<   r   rR   Úint)r=   r   r;   r   rR   úlist[dict[str, str]])	r   r   r   Ú__doc__ÚusageÚignore_require_venvr0   r@   r3   r   r   r    r"   r"   #   s!   „ ÙJð!€EàÐó
:ó ô r   r"   c                ó  — t        «       }| D ]b  }|d   }|d   }|d   }||j                  «       vr|||gdœ||<   Œ/||   d   j                  |«       |t        ||   d   «      k(  sŒ[|||   d<   Œd t	        |j                  «       «      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_versionrK   Úvalues)r?   ÚpackagesÚhitr   r   rZ   s         r    r4   r4   X   s§   € ô +6«-€HÛˆØ�6‰{ˆØ�i‘.ˆØ�i‘.ˆà�x—}‘}“Ñ&àØ"Ø$˜IñˆH�TŠNð �T‰N˜:Ñ&×-Ñ-¨gÔ6ð œ/¨(°4©.¸Ñ*DÓEÓEØ,3�˜‘˜yÒ)ð! ô$ �—‘Ó!Ó"Ð"r   c                ó  — |�~t        «       5  |j                  | k(  rt        d|j                  «       nDt        d|j                  «       t        | «      j                  rt        d| «       nt        d| «       d d d «       y y # 1 sw Y   y xY w)NzINSTALLED: %s (latest)zINSTALLED: %sz=LATEST:    %s (pre-release; install with `pip install --pre`)zLATEST:    %s)r   rZ   r   Úparse_versionÚpre)ÚlatestÚdists     r    Úprint_dist_installation_inforf   t   sr   € ØÐÜ�\Ø�|‰|˜vÒ%ÜÐ5°t·|±|ÕDä˜_¨d¯l©lÔ;Ü  Ó(×,Ò,Ü ð5àõô ! °&Ô9÷ ˆ\ð ßˆ\ús   �A+BÂBc                ó8   — t        «       }|j                  | «      S )N)r   Úget_distribution)r   Úenvs     r    Úget_installed_distributionrj   …   s   € Ü
!Ó
#€CØ×Ñ Ó%Ð%r   c                ó  — | sy |€Nt        | D �cg c]6  }t        |d   «      t        t        |j                  ddg«      «      «      z   ‘Œ8 c}«      dz   }| D ]Ÿ  }|d   }|d   xs d}t        |j                  ddg«      «      }|�=||z
  dz
  }|dkD  r0t	        j
                  ||«      }d	d
|dz   z  z   j                  |«      }|› d|› d�}	|	|› ›d|› �}
	 t        |
«       t        |«      }t        ||«       Œ¡ y c c}w # t        $ r Y Œ³w xY w)Nr   r   Ú-é   r   Ú é   é
   Ú
Ú é   z (Ú)z - )ÚmaxÚlenr]   ÚgetÚtextwrapÚwrapÚjoinr   rj   rf   ÚUnicodeEncodeError)r?   Úname_column_widthr2   r`   r   r   rd   Útarget_widthÚsummary_linesÚname_latestÚlinere   s               r    r:   r:   Š   sU  € ñ
 ØØÐ äñ  $óá#˜ô ˜˜F™Ó$¤s¬?¸3¿7¹7À:ÐPSÈuÓ;UÓ+VÓ'WÓWØ#ñóð ñð 	ó ˆØ�6‰{ˆØ�i‘.Ò& BˆÜ  §¡¨°c°UÓ!;Ó<ˆØÐ%Ø)Ð,=Ñ=ÀÑAˆLØ˜bÒ ä (§¡¨g°|Ó D�Ø #Ð):¸QÑ)>Ñ"?Ñ?×EÑEÀmÓT�à˜˜b  ¨Ð*ˆØÐ0Ð1Ð2°#°g°YÐ?ˆð	Ü˜ÔÜ-¨dÓ3ˆDÜ(¨°Õ6ñ! ùòøô2 "ò 	Ùð	ús   �;C9Ã"C>Ã>	D
Ä	D
c                ó$   — t        | t        ¬«      S )N)Úkey)ru   rb   )r   s    r    r]   r]   ±   s   € Üˆxœ]Ô+Ð+r   )r?   rU   rR   úlist[TransformedHit])rd   r   re   úBaseDistribution | NonerR   rS   )r   r   rR   r„   )NN)r?   rƒ   r|   ú
int | Noner2   r…   rR   rS   )r   r   rR   r   )0Ú
__future__r   Úloggingr8   r5   rx   Úxmlrpc.clientrD   Úcollectionsr   Úoptparser   Útypingr   Úpip._vendor.packaging.versionr   rb   Ú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"   r4   rf   rj   r:   r]   r   r   r    Ú<module>r™      s·   ðÝ "ã Û Û 
Û Û Ý #Ý Ý å @å 2Ý =ß DÝ 1Ý :Ý 8Ý +Ý ;Ý 2Ý 1ô�Yô ð 
ˆ×	Ñ	˜8Ó	$€ô2�GÐ0ô 2ój#ó8:ó"&ð %)Ø!%ð$Ø
ð$à!ð$ð ð$ð 
ó	$ôN,r   