
    3i                    r    d dl mZ d dlmZ ddlmZ erd dlmZ d dlm	Z	  G d de      Z
dd	Zdd
ZddgZy)    )annotations)TYPE_CHECKING   )PluginLoader)VirtualEnvConfigParser)Discoverc                      e Zd ZdZy)	DiscoveryzDiscovery plugins.N)__name__
__module____qualname____doc__     R/var/www/opsc/venv/lib/python3.12/site-packages/virtualenv/run/plugin/discovery.pyr
   r
      s    r   r
   c                $   t         j                  d      }| j                  dd      }t        |      }t	        |d       }	 t        t        |            }|j                  d||d	d
       | j                  |      \  }}	|j                  }
|
|vr.dj                  t	        |            }d|
d| d}t        |      ||
   }|j                  |       | j                  ||      \  }}	 ||      S # t        $ r}d}t        |      |d }~ww xY w)Nzvirtualenv.discovery	discoveryz)discover and provide a target interpreter)titledescriptionc                    | dk(  rdS dS )Nbuiltinr   r   r   )as    r   <lambda>zget_discover.<locals>.<lambda>   s    iA Q r   )keyzINo discovery plugin found. Try reinstalling virtualenv to fix this issue.z--discoveryFzinterpreter discovery method)choicesdefaultrequiredhelpz, z
discovery z0 is not available. Available discovery methods: z. Is the plugin installed?)	namespace)r
   entry_points_foradd_argument_group_get_default_discoverysortednextiterStopIterationRuntimeErroradd_argumentparse_known_argsr   joinadd_parser_arguments)parserargsdiscover_typesdiscovery_parserr   default_discoveryemsgoptions_r   	availablediscover_classs                r   get_discoverr7      sJ   //0FGN00? 1  %^4GW"FGG' g/ !!!+ "  ((.JGQ!!I&IIf^45	 &,,5; 7'( 	
 3#I.N''(89(((AJGQ'""/  'Y3Q&'s   C3 3	D<D

Dc                4    t        | j                               S )N)listkeys)r.   s    r   r"   r"   5   s    ##%&&r   r7   N)r,   r   r-   zlist[str] | Nonereturnr   )r.   zdict[str, type]r;   z	list[str])
__future__r   typingr   baser   virtualenv.config.cli.parserr   virtualenv.discovery.discoverr   r
   r7   r"   __all__r   r   r   <module>rB      s=    "   C6 "#J'
 r   