
    YHh                        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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
 Zd Zd ZddZd Zd Zd Zd Z G d de      Zy)    )annotationsN   )_reqs)metadata)SetuptoolsDeprecationWarning)Wheel)log)DistutilsErrorc                v    t        | t              r| j                         S t        | t        t        f      sJ | S )z8Ensure find-links option end-up being a list of strings.)
isinstancestrsplittuplelist)
find_linkss    M/var/www/html/planif/env/lib/python3.12/site-packages/setuptools/installer.py_fixup_find_linksr      s5    *c"!!j5$-000    c                X    t         j                          t        |        t        | |      S )zLFetch an egg needed for building.

    Use pip/wheel to fetch/build a wheel.)_DeprecatedInstalleremit_warn_wheel_not_available_fetch_build_egg_no_warn)distreqs     r   fetch_build_eggr      s%     d##D#..r   c                P     t         fdt        j                         D              S )Nc              3  6   K   | ]  }t        |        y wN)_dist_matches_req).0r   r   s     r   	<genexpr>z_present.<locals>.<genexpr>(   s     Q s+Qs   )anyr   distributionsr   s   `r   _presentr&   '   s    Q8N8N8PQQQr   c           	     r   t         j                  d       t        |        t        j                  |      }t        j                  t        |      }d |D        }|D cg c]  }t        | |       }}|D ]:  } t        j                  j                  dt        | j                  d                   < |S c c}w )N   )
stacklevelc              3  n   K   | ]-  }|j                   r|j                   j                         s*| / y wr   )markerevaluate)r!   r   s     r   r"   z$_fetch_build_eggs.<locals>.<genexpr>3   s*      3::9L9L9Ns   +55r    )r   r   r   r   parse	itertoolsfilterfalser&   r   syspathinsertr   locate_file)r   requiresparsed_reqsmissing_reqsneeded_reqsr   resolved_distss          r   _fetch_build_eggsr:   +   s    +d#++h'K((;?L#K FQQc.tS9QNQ 6 	3t//3456  Rs   B4c                    t         j                  j                  | j                        t         j                  j                  |j                        k(  xr | j                  |j
                  v S r   )	packagingutilscanonicalize_namenameversion	specifier)egg_distr   s     r   r    r    >   sO    ))(--8??,,SXX6	7 	.-r   c           	        t        |      }| j                  d      }d|v rt        d      dt        j                  vxr dt        j                  v}dt        j                  v rd }nd|v r	|d   d   }nd }d	|v rt        |d	   d         d d  ng }| j                  r|j                  | j                         t        j                  j                  | j                               }t        j                  j                  t        j                  | d
            }|D ]  }t        ||      s|c S  t!        j"                         5 }	t$        j&                  dddddd|	g}
|r|
j)                  d       ||
j                  d|f       |xs g D ]  }|
j                  d|f        |
j)                  |j*                  xs t-        |             	 t/        j0                  |
       t5        t        j                  t        j                  j7                  |	d            d         }t        j                  j7                  ||j9                               }|j;                  |       t        j                  j=                  |dz         cd d d        S # t.        j2                  $ r}t        t-        |            |d }~ww xY w# 1 sw Y   y xY w)Neasy_installallow_hostszQthe `allow-hosts` option is not supported when using pip to install requirements.	PIP_QUIETPIP_VERBOSEPIP_INDEX_URL	index_urlr   r   z/*.egg)r2   z-mpipz--disable-pip-version-checkwheelz	--no-depsz-wz--quietz--index-urlz--find-linksz*.whlr   z	/EGG-INFO)strip_markerget_option_dictr
   osenvironr   dependency_linksextendr2   realpathget_egg_cache_dirr   Distributiondiscoverglobr    tempfileTemporaryDirectoryr1   
executableappendurlr   
subprocess
check_callCalledProcessErrorr   joinegg_nameinstall_as_eggat)r   r   optsquietrI   r   eggs_dircached_distsrB   tmpdircmdlinkerK   dist_locations                  r   r   r   F   s   
s
C /D6
 	
 rzz)Mm2::.ME"**$			%a(		7Ct7K$|,Q/03QS  $//0ww 6 6 89H((11tyyH:VAT7U1VL  Xs+O 
	$	$	& E&NN)	
 JJy! JJy12$" 	/DJJ-.	/
 	

377&c#h'	0!!#& diiVW =>qABXu~~/?@]+$$''(CD9E E. ,, 	0 Q(a/	0/E Es2   BJ;J"BJ;J8J33J88J;;Kc                d    t         j                  j                  t        |             } d| _        | S )z
    Return a new requirement without the environment marker to avoid
    calling pip with something like `babel; extra == "i18n"`, which
    would always be ignored.
    N)r<   requirementsRequirementr   r+   r%   s    r   rL   rL      s*     
 
 
,
,SX
6CCJJr   c                    	 t        j                  d       y # t         j                  $ r# | j                  dt        j
                         Y y w xY w)NrK   z,WARNING: The wheel package is not available.)r   distributionPackageNotFoundErrorannouncer	   WARN)r   s    r   r   r      s@    Pg&(( PDchhOPs    3AAc                      e Zd ZdZdZdZy)r   z9setuptools.installer and fetch_build_eggs are deprecated.z
    Requirements should be satisfied by a PEP 517 installer.
    If you are using pip, you can try `pip install --use-pep517`.
    )i  
      N)__name__
__module____qualname___SUMMARY_DETAILS	_DUE_DATE r   r   r   r      s    JHH Ir   r   )r5   z_reqs._StrOrIterreturnzlist[metadata.Distribution]) 
__future__r   rV   r/   rN   r\   r1   rW   packaging.requirementsr<   packaging.utilsr-   r   
_importlibr   warningsr   rK   r   	distutilsr	   distutils.errorsr
   r   r   r&   r:   r    r   rL   r   r   r}   r   r   <module>r      sk    "   	  
       2   +/R&9Ex	P7 r   