o
    Vhl                     @  sl   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d
S )    )annotations)StringIO)TYPE_CHECKING)Output)	Verbosity)SectionOutput)	Formatterc                      sh   e Zd Zejdddfd fddZd ddZd!ddZd"ddZd#ddZ	d$ddZ
d%d&ddZ  ZS )'BufferedOutputFNT	verbosityr   	decoratedbool	formatterFormatter | Nonesupports_utf8returnNonec                   s$   t  j|||d t | _|| _d S )N)r   r
   r   )super__init__r   _buffer_supports_utf8)selfr
   r   r   r   	__class__ s/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/cleo/io/outputs/buffered_output.pyr      s   
zBufferedOutput.__init__strc                 C  s   | j  }t | _ |S )z=
        Empties the buffer and returns its content.
        )r   getvaluer   )r   contentr   r   r   fetch   s   
zBufferedOutput.fetchc                 C  s   t  | _dS )z%
        Empties the buffer.
        N)r   r   r   r   r   r   clear%   s   zBufferedOutput.clearc                 C  s   | j S Nr   r   r   r   r   r   +   s   zBufferedOutput.supports_utf8c                 C  s
   || _ d S r!   r"   )r   r   r   r   r   set_supports_utf8.   s   
z BufferedOutput.set_supports_utf8r   c                 C  s   t | j| j| j|  | jdS )N)r
   r   r   )r   r   _section_outputsr
   is_decoratedr   r   r   r   r   section1   s   zBufferedOutput.sectionmessagenew_linec                 C  s$   | j | |r| j d d S d S )N
)r   write)r   r'   r(   r   r   r   _write:   s   zBufferedOutput._write)
r
   r   r   r   r   r   r   r   r   r   )r   r   )r   r   )r   r   )r   r   r   r   )r   r   )F)r'   r   r(   r   r   r   )__name__
__module____qualname__r   NORMALr   r   r    r   r#   r&   r+   __classcell__r   r   r   r   r	      s    

	


	r	   N)
__future__r   ior   typingr   cleo.io.outputs.outputr   r   cleo.io.outputs.section_outputr   cleo.formatters.formatterr   r	   r   r   r   r   <module>   s    