o
    VhM                     @  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 dl	m
Z
 er,d dlmZ G dd	 d	eZG d
d deZG dd dZdS )    )annotations)Enum)TYPE_CHECKING)Iterable)
strip_tags)	Formatter)SectionOutputc                   @  sJ   e Zd ZU dZded< dZded< dZded< dZded	< d
Zded< dS )	Verbosity   intQUIET    NORMAL@   VERBOSE   VERY_VERBOSE   DEBUGN)	__name__
__module____qualname__r   __annotations__r   r   r   r    r   r   j/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/cleo/io/outputs/output.pyr	      s   
 r	   c                   @  s2   e Zd ZU dZded< dZded< dZded< dS )	Type   r   r      RAW   PLAINN)r   r   r   r   r   r   r    r   r   r   r   r      s   
 r   c                   @  s   e Zd Zejddfd:ddZed;ddZed<ddZd=ddZ	d>ddZ
d?d@ddZd>ddZdAddZd>ddZd>dd Zd>d!d"Zd>d#d$ZejejfdBd)d*ZdejejfdCd,d-ZdDd.d/ZdEd2d3ZdFd5d6ZdGdHd8d9ZdS )IOutputFN	verbosityr	   	decoratedbool	formatterFormatter | NonereturnNonec                 C  s(   || _ |pt | _| j| g | _d S N)
_verbosityr   
_formatterr#   _section_outputs)selfr"   r#   r%   r   r   r   __init__   s   
zOutput.__init__r   c                 C     | j S r)   r+   r-   r   r   r   r%   *      zOutput.formatterc                 C  r/   r)   r*   r1   r   r   r   r"   .   r2   zOutput.verbosityc                 C  
   || _ d S r)   r0   )r-   r%   r   r   r   set_formatter2      
zOutput.set_formatterc                 C  s
   | j  S r)   )r+   is_decoratedr1   r   r   r   r7   5   r6   zOutput.is_decoratedTc                 C  s   | j | d S r)   )r+   r#   )r-   r#   r   r   r   r#   8      zOutput.decoratedc                 C  s   dS )zI
        Returns whether the stream supports the UTF-8 encoding.
        Tr   r1   r   r   r   supports_utf8;   s   zOutput.supports_utf8c                 C  r4   r)   r3   )r-   r"   r   r   r   set_verbosityA   r6   zOutput.set_verbosityc                 C     | j tju S r)   )r*   r	   r   r1   r   r   r   is_quietD      zOutput.is_quietc                 C     | j jtjjkS r)   )r*   valuer	   r   r1   r   r   r   
is_verboseG   r8   zOutput.is_verbosec                 C  r>   r)   )r*   r?   r	   r   r1   r   r   r   is_very_verboseJ   r8   zOutput.is_very_verbosec                 C  r;   r)   )r*   r	   r   r1   r   r   r   is_debugM   r=   zOutput.is_debugmessagesstr | Iterable[str]typer   c                 C  s   | j |d||d d S )NT)new_liner"   rE   )write)r-   rC   r"   rE   r   r   r   
write_lineP   s   zOutput.write_linerF   c                 C  sp   t |tr|g}|j| jjkrd S |D ]"}|tju r!| j|}n|tju r.t	| j|}| j
||d qd S )N)rF   )
isinstancestrr?   r"   r   r   r+   formatr    r   _write)r-   rC   rF   r"   rE   messager   r   r   rG   X   s   


zOutput.writec                 C  s   d S r)   r   r1   r   r   r   flushm      zOutput.flushtextrJ   c                 C  s   | j |S r)   )r%   remove_format)r-   rP   r   r   r   rQ   p   r=   zOutput.remove_formatr   c                 C     t r)   NotImplementedErrorr1   r   r   r   sections   rO   zOutput.sectionrM   c                 C  rR   r)   rS   )r-   rM   rF   r   r   r   rL   v   rO   zOutput._write)r"   r	   r#   r$   r%   r&   r'   r(   )r'   r   )r'   r	   )r%   r   r'   r(   )r'   r$   )T)r#   r$   r'   r(   )r"   r	   r'   r(   )rC   rD   r"   r	   rE   r   r'   r(   )
rC   rD   rF   r$   r"   r	   rE   r   r'   r(   )r'   r(   )rP   rJ   r'   rJ   )r'   r   )F)rM   rJ   rF   r$   r'   r(   )r   r   r   r	   r   r.   propertyr%   r"   r5   r7   r#   r9   r:   r<   r@   rA   rB   r   rH   rG   rN   rQ   rU   rL   r   r   r   r   r!      s:    










r!   N)
__future__r   enumr   typingr   r   cleo._utilsr   cleo.formatters.formatterr   cleo.io.outputs.section_outputr   r	   r   r!   r   r   r   r   <module>   s    