
    3i                        d Z ddlmZ ddlZddlmZmZ ddlmZ erddl	m
Z
 ddlmZ ddlmZ dd	lmZ  G d
 de      ZdgZy)zJVirtualenv-specific Discover base class for plugin-based Python discovery.    )annotationsN)ABCabstractmethod)TYPE_CHECKING)ArgumentParser)Mapping)
PythonInfo)VirtualEnvOptionsc                  J    e Zd Zedd       ZddZedd       Zedd       Z	y)	Discoverc                    t         NNotImplementedError)clsparsers     P/var/www/opsc/venv/lib/python3.12/site-packages/virtualenv/discovery/discover.pyadd_parser_argumentszDiscover.add_parser_arguments       !!    c                    d| _         d | _        |j                  |j                  | _        y t        j                  | _        y )NF)_has_run_interpreterenvosenviron_env)selfoptionss     r   __init__zDiscover.__init__   s2    /36=kk6Mw{{	SUS]S]	r   c                    t         r   r   r   s    r   runzDiscover.run   r   r   c                n    | j                   du r| j                         | _        d| _         | j                  S )z<:returns: the interpreter as returned by :meth:`run`, cachedFT)r   r#   r   r"   s    r   interpreterzDiscover.interpreter    s1     ==E! $
D DM   r   N)r   r   returnNone)r   r
   r&   r'   )r&   zPythonInfo | None)
__name__
__module____qualname__classmethodr   r    r   r#   propertyr%    r   r   r   r      sB    " "^
 " " ! !r   r   )__doc__
__future__r   r   abcr   r   typingr   argparser   collections.abcr   python_discoveryr	   virtualenv.config.cli.parserr
   r   __all__r-   r   r   <module>r7      s;    P " 	 #  ''+>!s !0 r   