o
    UÌh•  ã                   @  s6   d dl mZ d dlmZmZ G dd„ deƒZdgZdS )é    )Úannotations)ÚABCÚabstractmethodc                   @  s>   e Zd ZdZedd„ ƒZddd„Zedd	„ ƒZe	d
d„ ƒZ
dS )ÚDiscoverz6Discover and provide the requested Python interpreter.c                 C  ó   t ‚)zi
        Add CLI arguments for this discovery mechanisms.

        :param parser: the CLI parser
        ©ÚNotImplementedError)ÚclsÚparser© r   úq/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/virtualenv/discovery/discover.pyÚadd_parser_arguments	   ó   zDiscover.add_parser_argumentsÚreturnÚNonec                 C  s   d| _ d| _|j| _dS )zŽ
        Create a new discovery mechanism.

        :param options: the parsed options as defined within :meth:`add_parser_arguments`
        FN)Ú_has_runÚ_interpreterÚenvÚ_env)ÚselfÚoptionsr   r   r   Ú__init__   s   zDiscover.__init__c                 C  r   )z{
        Discovers an interpreter.

        :return: the interpreter ready to use for virtual environment creation
        r   ©r   r   r   r   Úrun   r   zDiscover.runc                 C  s    | j du r|  ¡ | _d| _ | jS )z;:return: the interpreter as returned by :meth:`run`, cachedFT)r   r   r   r   r   r   r   Úinterpreter%   s   

zDiscover.interpreterN)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úclassmethodr   r   r   r   Úpropertyr   r   r   r   r   r      s    



r   N)Ú
__future__r   Úabcr   r   r   Ú__all__r   r   r   r   Ú<module>   s
    )ÿ