Current File : //lib/python3.9/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc
a

[��f(�@s�ddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZmZddl
mZddlmZdd	lmZmZmZdd
lmZe�e�ZGdd�de�ZdS)
�N)�Values)�List)�
cmdoptions)�make_target_python)�RequirementCommand�with_cleanup)�SUCCESS)�get_requirement_tracker)�
ensure_dir�normalize_path�write_output)�
TempDirectoryc@s<eZdZdZdZdd�dd�Zeeee	e
d�dd	��ZdS)
�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> ...N)�returnc
CsL|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���|jjddddddtjdd�t�|j�t�tj|j�}|j�d	|�|j�d	|j�dS)
Nz-dz--destz--destination-dirz--destination-directory�download_dir�dirzDownload packages into <dir>.)�dest�metavar�default�helpr)Zcmd_optsZ
add_optionr�constraints�requirementsZno_depsZglobal_optionsZ	no_binaryZonly_binaryZ
prefer_binary�srcZpreZrequire_hashesZprogress_barZno_build_isolationZ
use_pep517Z
no_use_pep517�ignore_requires_python�os�curdirZadd_target_python_optionsZmake_option_groupZindex_group�parserZinsert_option_group)�selfZ
index_opts�r�C/usr/lib/python3.9/site-packages/pip/_internal/commands/download.py�add_options%s@��zDownloadCommand.add_options)�options�argsrc	Cs&d|_g|_t�|�t|j�|_t|j�|�|�}t|�}|j	||||j
d�}|�t��}t
|jddd�}|�||||�}|j||||||jdd�}	|j|	|||j
|jd�}
|�|�|
j|dd�}g}|j��D]2}
|
jdur�|
jdus�J�|	�|
�|�|
j�q�|�r"td	d
�|��tS)NT)r!�session�
target_pythonrZdownload)�delete�kindZglobally_managedF)Ztemp_build_dirr!�req_trackerr#�finderrZ
use_user_site)�preparerr(r!rZpy_version_info)Zcheck_supported_wheelszSuccessfully downloaded %s� )Zignore_installedZ	editablesrZcheck_dist_restrictionrrr
Zget_default_sessionrZ_build_package_finderr�
enter_contextr	r
Zno_cleanZget_requirementsZmake_requirement_preparerZ
make_resolverZpython_versionZtrace_basic_info�resolver�valuesZsatisfied_by�nameZsave_linked_requirement�appendr�joinr)rr!r"r#r$r(r'Z	directoryZreqsr)ZresolverZrequirement_setZ
downloadedZreqrrr�runKs^


���
�


zDownloadCommand.run)�__name__�
__module__�__qualname__�__doc__�usager rrr�str�intr1rrrrrs
&r)ZloggingrZoptparser�typingrZpip._internal.clirZpip._internal.cli.cmdoptionsrZpip._internal.cli.req_commandrrZpip._internal.cli.status_codesrZpip._internal.req.req_trackerr	Zpip._internal.utils.miscr
rrZpip._internal.utils.temp_dirr
Z	getLoggerr2�loggerrrrrr�<module>s