
    dS                        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	e          Z G d
 de          Z G d d          ZdS )    )annotations)Enum)TYPE_CHECKING)Iterable)
strip_tags)	Formatter)SectionOutputc                  V    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        Z/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/cleo/io/outputs/output.pyr   r      sc         EOOOOFGLEr   r   c                  :    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      s7         FOOOOCLLLLENNNNNNr   r   c                  
   e Zd Zej        ddfd(dZed)d            Zed*d            Zd+dZ	d,dZ
d-d.dZd,dZd/dZd,dZd,dZd,dZd,dZej        ej        fd0dZdej        ej        fd1dZd2d Zd3d#Zd4d%Zd5d6d'ZdS )7OutputFN	verbosityr   	decoratedbool	formatterFormatter | NonereturnNonec                    || _         |pt                      | _        | j                            |           g | _        d S N)
_verbosityr   
_formatterr(   _section_outputs)selfr'   r(   r*   s       r   __init__zOutput.__init__    s?     &/#2y{{!!),,,57r   r   c                    | j         S r/   r1   r3   s    r   r*   zOutput.formatter,   
    r   c                    | j         S r/   r0   r7   s    r   r'   zOutput.verbosity0   r8   r   c                    || _         d S r/   r6   )r3   r*   s     r   set_formatterzOutput.set_formatter4       #r   c                4    | j                                         S r/   )r1   is_decoratedr7   s    r   r?   zOutput.is_decorated7   s    ++---r   Tc                :    | j                             |           d S r/   )r1   r(   )r3   r(   s     r   r(   zOutput.decorated:   s    !!),,,,,r   c                    dS )zI
        Returns whether the stream supports the UTF-8 encoding.
        Tr   r7   s    r   supports_utf8zOutput.supports_utf8=   s	     tr   c                    || _         d S r/   r:   )r3   r'   s     r   set_verbosityzOutput.set_verbosityC   r=   r   c                ,    | j         t          j        k    S r/   )r0   r   r   r7   s    r   is_quietzOutput.is_quietF       )/11r   c                @    | j         j        t          j        j        k    S r/   )r0   valuer   r   r7   s    r   
is_verbosezOutput.is_verboseI   s    $	(9(???r   c                @    | j         j        t          j        j        k    S r/   )r0   rI   r   r   r7   s    r   is_very_verbosezOutput.is_very_verboseL   s    $	(>(DDDr   c                ,    | j         t          j        k    S r/   )r0   r   r   r7   s    r   is_debugzOutput.is_debugO   rG   r   messagesstr | Iterable[str]typer   c                8    |                      |d||           d S )NT)new_liner'   rQ   )write)r3   rO   r'   rQ   s       r   
write_linezOutput.write_lineR   s$     	

8did
KKKKKr   rS   c                `   t          |t                    r|g}|j        | j        j        k    rd S |D ]{}|t          j        k    r| j                            |          }n7|t          j        k    r't          | j                            |                    }| 
                    ||           |d S )N)rS   )
isinstancestrrI   r'   r   r   r1   formatr$   r   _write)r3   rO   rS   r'   rQ   messages         r   rT   zOutput.writeZ   s     h$$ 	" zH?T^111F 	4 	4Gt{""/0099##$T_%;%;G%D%DEEKK(K3333	4 	4r   c                    d S r/   r   r7   s    r   flushzOutput.flusho   s    r   textrX   c                6    | j                             |          S r/   )r*   remove_format)r3   r^   s     r   r`   zOutput.remove_formatr   s    ~++D111r   r	   c                    t                      r/   NotImplementedErrorr7   s    r   sectionzOutput.sectionu       !###r   r[   c                    t                      r/   rb   )r3   r[   rS   s      r   rZ   zOutput._writex   re   r   )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-   )rO   rP   r'   r   rQ   r   r,   r-   )
rO   rP   rS   r)   r'   r   rQ   r   r,   r-   )r,   r-   )r^   rX   r,   rX   )r,   r	   )F)r[   rX   rS   r)   r,   r-   )r   r   r   r   r   r4   propertyr*   r'   r<   r?   r(   rB   rD   rF   rJ   rL   rN   r   rU   rT   r]   r`   rd   rZ   r   r   r   r&   r&      s         )/&*	
8 
8 
8 
8 
8    X    X$ $ $ $. . . .- - - - -   $ $ $ $2 2 2 2@ @ @ @E E E E2 2 2 2  )/[	L L L L L (/[4 4 4 4 4*   2 2 2 2$ $ $ $$ $ $ $ $ $ $r   r&   N)
__future__r   enumr   typingr   r   cleo._utilsr   cleo.formatters.formatterr   cleo.io.outputs.section_outputr	   r   r   r&   r   r   r   <module>rn      s   " " " " " "                         " " " " " " / / / / / /  =<<<<<<           4   Z$ Z$ Z$ Z$ Z$ Z$ Z$ Z$ Z$ Z$r   