o
    Uh{                     @  s\   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
G dd deeZdgZd	S )
    )annotations)ABC)Path)Seeder)VersionTc                      sL   e Zd Zd fddZedddZdd	d
Zedd ZdddZ  Z	S )	BaseEmbedreturnNonec                   s   t  j||jdu d |j| _dd |jD | _|j| _|j| _|j	| _
|j| _|j| _|j| _|j| _|j | _|  sBd| _d S d S )NF)enabledc                 S  s   g | ]
}|  r| qS  )existsresolve.0ir   r   t/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/virtualenv/seed/embed/base_embed.py
<listcomp>   s    z&BaseEmbed.__init__.<locals>.<listcomp>)super__init__no_seeddownloadextra_search_dirpippip_version
setuptoolssetuptools_versionwheelwheel_versionno_pipno_setuptoolsno_wheelapp_datano_periodic_updateperiodic_updatedistribution_to_versionsr
   )selfoptions	__class__r   r   r      s   

zBaseEmbed.__init__dict[str, Version]c                 C  s   t jt jt jdS )N)r   r   r   )r   bundle)clsr   r   r   distributions    s   zBaseEmbed.distributionsdict[str, str]c                   s    fdd   D S )Nc                   sF   i | ]}t  d | du rt  | ddkr|t  | dqS )no_F_versionnone)getattr)r   distributionr%   r   r   
<dictcomp>)   s
    (z6BaseEmbed.distribution_to_versions.<locals>.<dictcomp>)r,   r3   r   r3   r   r$   (   s   
z"BaseEmbed.distribution_to_versionsc              
   C  s  |  }|jdddddd|   ddd	 |jd
dddd|   ddd	 |jddtddg d |   D ]$\}}|jd d dkrO|dv rOd}|jd| |dd| d|d q<|  D ]}|jd| d| dd| dd	 qe|jdd dd!t d	 d S )"Nz--no-downloadz--never-downloadr   store_falsez'pass to disable download of the latest /z
 from PyPIT)destactionhelpdefaultz
--download
store_truez&pass to enable download of the latest Fz--extra-search-dird+zPa path containing wheels to extend the internal wheel list (can be set 1+ times))metavartypenargsr9   r:      )      >   r   r   r0   z--versionzversion of z9 to install as seed: embed, bundle, none or exact version)r7   r>   r9   r:   z--no-r.   zdo not install z--no-periodic-updater"   zGdisable the periodic (once every 14 days) update of the embedded wheels)add_mutually_exclusive_groupadd_argumentjoinr,   r   itemsversion_infoPERIODIC_UPDATE_ON_BY_DEFAULT)r+   parserinterpreterr!   groupr2   r:   r   r   r   add_parser_arguments/   sb   

zBaseEmbed.add_parser_argumentsstrc                 C  s   | j j}|d7 }| jr|dddd | jD  d7 }|d| j d7 }|  D ]*}t| d| r4q)t| | d	d }|d
krBq)d|pFd }|d| | d7 }q)|d d d S )N(zextra_search_dir=z, c                 s  s    | ]}t |V  qd S )N)rO   r   r   r   r   	<genexpr>g   s    z%BaseEmbed.__repr__.<locals>.<genexpr>,z	download=r.   r/   r0   =latest ))r(   __name__r   rG   r   r,   r1   )r%   resultr2   rD   verr   r   r   __repr__c   s   "zBaseEmbed.__repr__)r   r	   )r   r)   )r   r-   )r   rO   )
rX   
__module____qualname__r   classmethodr,   r$   rN   r[   __classcell__r   r   r'   r   r      s    

3r   N)
__future__r   abcr   pathlibr   virtualenv.seed.seederr   virtualenv.seed.wheelsr   rJ   r   __all__r   r   r   r   <module>   s    i