o
    Vhz                     @  sP   d dl mZ d dlZd dlmZ d dlmZ erd dlmZ G dd deZ	dS )    )annotationsN)TYPE_CHECKING)Question)IOc                      s:   e Zd ZdZ	dd fddZdddZdddZ  ZS )ConfirmationQuestionz'
    Represents a yes/no question.
    T(?i)^yquestionstrdefaultbooltrue_answer_regexreturnNonec                   s    t  || || _| j| _d S )N)super__init___true_answer_regex_default_normalizer_normalizer)selfr   r
   r   	__class__ q/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/cleo/ui/confirmation_question.pyr      s   zConfirmationQuestion.__init__ior   c                 C  s,   d| j  d| jr
dnd d}|| d S )Nz
<question>z (yes/no)</> [<comment>yesnoz</>] )	_question_defaultwrite_error)r   r   messager   r   r   _write_prompt   s
   
z"ConfirmationQuestion._write_promptanswerc                 C  s@   t |tr|S t| j|du}| jdu rt|o|S | p|S )z,
        Default answer normalizer.
        NF)
isinstancer   rematchr   r
   )r   r!   answer_is_truer   r   r   r   #   s   


z(ConfirmationQuestion._default_normalizer)Tr   )r   r	   r
   r   r   r	   r   r   )r   r   r   r   )r!   r	   r   r   )__name__
__module____qualname____doc__r   r    r   __classcell__r   r   r   r   r      s    
r   )

__future__r   r#   typingr   cleo.ui.questionr   
cleo.io.ior   r   r   r   r   r   <module>   s    