a
    e0h7                     @   s   d dl mZ d dlZd dl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mZmZ d d	lmZ d d
lmZ erd dlmZ d dlmZ eeZG dd de	ZdS )    )absolute_importN)
cmdoptions)make_target_python)RequirementCommandwith_cleanup)SUCCESS)get_requirement_tracker)
ensure_dirnormalize_pathwrite_output)TempDirectory)MYPY_CHECK_RUNNING)Values)Listc                   @   s(   e Zd ZdZdZdd Zed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> ...c              
   C   sL  | j t  | j t  | j t  | j t  | j t  | j t  | j t	  | j t
  | j t  | j t  | j t  | j t  | j t  | j t  | j t  | j jddddddtjdd t| j  t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	build_dirno_depsglobal_options	no_binaryonly_binaryprefer_binarysrcprerequire_hashesprogress_barno_build_isolation
use_pep517no_use_pep517oscurdiradd_target_python_optionsmake_option_groupindex_groupparserinsert_option_group)self
index_opts r1   M/var/www/auris/lib/python3.9/site-packages/pip/_internal/commands/download.pyadd_options*   s:    zDownloadCommand.add_optionsc              	   C   s  d|_ g |_t| t|j|_t|j | |}t|}| j	|||d}| 
t }t|j ddd}| ||||}| j||||||jdd}	| j|	|||jd}
| | |
j|dd}g }|j D ]2}|jd u r|jd usJ |	| ||j q|rtd	d
| tS )NT)optionssessiontarget_pythondownload)deletekindglobally_managedF)temp_build_dirr4   req_trackerr5   finderr   use_user_site)preparerr=   r4   py_version_info)check_supported_wheelszSuccessfully downloaded %s )ignore_installed	editablesr   check_dist_restrictionr
   r   r	   get_default_sessionr   _build_package_finderenter_contextr   r   no_cleanget_requirementsmake_requirement_preparermake_resolverpython_versiontrace_basic_inforesolver   valuessatisfied_bynamesave_linked_requirementappendr   joinr   )r/   r4   argsr5   r6   r=   r<   	directoryreqsr?   resolverrequirement_set
downloadedreqr1   r1   r2   runN   s^    






zDownloadCommand.runN)__name__
__module____qualname____doc__usager3   r   r]   r1   r1   r1   r2   r      s
   $r   )
__future__r   loggingr(   Zpip._internal.clir   Zpip._internal.cli.cmdoptionsr   pip._internal.cli.req_commandr   r   pip._internal.cli.status_codesr   pip._internal.req.req_trackerr   pip._internal.utils.miscr	   r
   r   pip._internal.utils.temp_dirr   pip._internal.utils.typingr   optparser   typingr   	getLoggerr^   loggerr   r1   r1   r1   r2   <module>   s   
