
    Wh                         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	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZmZmZ d d
lmZ  e j        e          Z G d de	          ZdS )    N)Values)
cmdoptions)make_target_python)RequirementCommandwith_cleanup)SUCCESS)get_build_tracker)check_legacy_setup_py_options)
ensure_dirnormalize_pathwrite_output)TempDirectoryc                   N    e Zd ZdZdZd	dZededee	         de
fd            ZdS )
DownloadCommandaL  
    Download packages from:

    - PyPI (and other indexes) using requirement specifiers.
    - VCS project urls.
    - Local project directories.
    - Local or remote source archives.

    pip also supports downloading from "requirements files", which provide
    an easy way to specify a whole environment to be downloaded.
    a  
      %prog [options] <requirement specifier> [package-index-options] ...
      %prog [options] -r <requirements file> [package-index-options] ...
      %prog [options] <vcs project url> ...
      %prog [options] <local project path> ...
      %prog [options] <archive url/path> ...returnNc           
         | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j	                               | j                             t          j
                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             t          j                               | j                             ddddddt&          j        d           t          j        | j                    t          j        t          j        | j                  }| j                            d	|           | j                            d	| j                    d S )
Nz-dz--destz--destination-dirz--destination-directorydownload_dirdirzDownload packages into <dir>.)destmetavardefaulthelpr   )cmd_opts
add_optionr   constraintsrequirementsno_depsglobal_options	no_binaryonly_binaryprefer_binarysrcprerequire_hashesprogress_barno_build_isolation
use_pep517no_use_pep517check_build_depsignore_requires_pythonoscurdiradd_target_python_optionsmake_option_groupindex_groupparserinsert_option_group)self
index_optss     q/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/commands/download.pyadd_optionszDownloadCommand.add_options%   s     !7!9!9:::  !8!:!:;;;  !3!5!5666  !:!<!<===  !5!7!7888  !7!9!9:::  !9!;!;<<<  !1!1222  !1!1222  !:!<!<===  !8!:!:;;;  !>!@!@AAA  !6!8!8999  !9!;!;<<<  !<!>!>???  !B!D!DEEE  %I0 	! 		
 		
 		
 	,T];;;1"K
 


 	'':666''4=99999    optionsargsc           
      J   d|_         g |_        t          j        |           t	          |j                  |_        t          |j                   |                     |          }t          |          }| 	                    ||||j
                  }|                     t                                }t          |j         dd          }|                     ||||          }t!          ||           |                     ||||||j        d| j                  }	|                     |	|||j
        |j        |j                  }
|                     |           |
                    |d          }g }|j                                        D ]A}|j        8|j        J |	                    |           |                    |j                   B|	                    |j                                                   |r#t?          d	d
                     |                     tB          S )NT)r7   sessiontarget_pythonr*   download)deletekindglobally_managedF)temp_build_dirr7   build_trackerr:   finderr   use_user_site	verbosity)preparerrB   r7   r*   r'   py_version_info)check_supported_wheelszSuccessfully downloaded %s )"ignore_installed	editablesr   check_dist_restrictionr   r   r   get_default_sessionr   _build_package_finderr*   enter_contextr	   r   no_cleanget_requirementsr
   make_requirement_preparerrD   make_resolverr'   python_versiontrace_basic_inforesolver   valuessatisfied_bynamesave_linked_requirementappend prepare_linked_requirements_morer   joinr   )r2   r7   r8   r:   r;   rB   rA   	directoryreqsrE   resolverrequirement_set
downloadedreqs                 r4   runzDownloadCommand.runL   sK   #'  )'222-g.BCC7'(((**733*733++'#*#A	 , 
 
 **+<+>+>??!''!
 
 
	 $$T7FGDD%gt44411$' -n 2 	
 	
 %%#*#A)#2 & 
 
 	f%%%"**4*MM "
"/6688 	, 	,C'x+++00555!!#(+++11/2N2U2U2W2WXXX 	M5sxx
7K7KLLLr6   )r   N)__name__
__module____qualname____doc__usager5   r   r   liststrintrc    r6   r4   r   r      s|        
 
0E%: %: %: %:N D6 Dc Ds D D D \D D Dr6   r   )loggingr+   optparser   pip._internal.clir   pip._internal.cli.cmdoptionsr   pip._internal.cli.req_commandr   r   pip._internal.cli.status_codesr   ,pip._internal.operations.build.build_trackerr	   pip._internal.req.req_installr
   pip._internal.utils.miscr   r   r   pip._internal.utils.temp_dirr   	getLoggerrd   loggerr   rl   r6   r4   <module>ry      s    				       ( ( ( ( ( ( ; ; ; ; ; ; J J J J J J J J 2 2 2 2 2 2 J J J J J J G G G G G G M M M M M M M M M M 6 6 6 6 6 6		8	$	$@ @ @ @ @( @ @ @ @ @r6   