R`iG 8 d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z m Z mZmZm Z ddlmZ ddlmZ ddlmZ dd lmZ dd lmZmZ ddlmZ ddlmZ dd lmZ ddlm Z ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z(m)Z)m*Z*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6m7Z7 ddl8m9Z9 e rddl:m;Z; ejx e= Z>ded fdZ? G d de Z@ G d d ee@ ZAe7j e7j e7j gZEd&d!ZFd"e de fd#ZG G d$ d%eA ZHy)'a Contains the Command base classes that depend on PipSession. The classes in this module are in a separate module so the commands not needing download / PackageFinder capability don't unnecessarily import the PackageFinder machinery and all its vendored dependencies, etc. N)partial)Values) TYPE_CHECKINGAnyListOptionalTuple) WheelCache) cmdoptions)Command)CommandContextMixIn)CommandErrorPreviousBuildDirError) LinkCollector) PackageFinder)SelectionPreferences)TargetPython) PipSession)BuildTracker)RequirementPreparer)install_req_from_editableinstall_req_from_line#install_req_from_parsed_requirementinstall_req_from_req_string)parse_requirements)InstallRequirement)BaseResolver)pip_self_version_check) TempDirectoryTempDirectoryTypeRegistry tempdir_kinds)running_under_virtualenv) SSLContextreturnr# c t j dk rt d dd l} ddlm} |j | j S # t $ r t j d Y y w xY w# t $ r}t d| d }~ww xY w)N) z9The truststore feature is only available for Python 3.10+r z1Disabling truststore since ssl support is missing) truststorez'The truststore feature is unavailable: )sysversion_infor sslImportErrorloggerwarningpip._vendorr( r# PROTOCOL_TLS_CLIENT)r+ r( es /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_internal/cli/req_command.py_create_truststore_ssl_contextr3 2 s '!VWW J* !8!899 JK JDQCHIIJs( A A* A'&A'* B3BBc e Zd ZdZd fdZededeee fd Z dedefdZ ddedee dee d edef d Z xZS ) SessionCommandMixinzE A class mixin for command classes needing _build_session(). r$ c 0 t | d | _ y N)super__init___session)self __class__s r2 r9 zSessionCommandMixin.__init__J s .2 optionsc g }t |dd s t |dd }|r|j | t |dd }|r|j | |xs dS )z7Return a list of index urls from user-provided options.no_indexF index_urlNextra_index_urls)getattrappendextend)clsr> index_urlsurlurlss r2 _get_index_urlsz#SessionCommandMixin._get_index_urlsN s_ w E2';5C!!#&w 2D9d#!T!r= c | j 3| j | j | | _ | j J | j S )zGet a default-managed session.)r: enter_context_build_session)r; r> s r2 get_default_sessionz'SessionCommandMixin.get_default_session\ sE == ..t/B/B7/KLDM ==,,,}}r= retriestimeoutfallback_to_certific |j }|r!t j j | sJ d|j v r t }nd }t |r t j j |d nd ||n|j |j | j | | }|j r|j |_ |j r|j |_ |j s|r||n|j |_ |j r|j |j d|_ |j$ |j&