o
    VÌh{  ã                   @  sJ   d dl mZ d dlZd dlZd dlmZ G dd„ deƒZG dd„ dƒZdS )é    )ÚannotationsN)Ú
NamedTuplec                   @  s   e Zd ZU ded< ded< dS )ÚTerminalSizeÚintÚwidthÚheightN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r   r   úa/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/cleo/terminal.pyr   	   s   
 r   c                   @  sR   e Zd Z			ddd	d
„Zeddd„ƒZeddd„ƒZeddd„ƒZddd„ZdS )ÚTerminalNr   ú
int | Noner   Úfallbackútuple[int, int] | NoneÚreturnÚNonec                 C  s   || _ || _t|p
dŽ | _d S )N)éP   é   )Ú_widthÚ_heightr   Ú	_fallback)Úselfr   r   r   r   r   r   Ú__init__   s   zTerminal.__init__r   c                 C  ó   | j jS ©N)Úsizer   ©r   r   r   r   r      ó   zTerminal.widthc                 C  r   r   )r   r   r   r   r   r   r      r   zTerminal.heightr   c                 C  s   |   ¡ S r   )Ú_get_terminal_sizer   r   r   r   r   !   r   zTerminal.sizec              
   C  s  | j d u s| jd u st| j | jƒS d}d}tj d¡}|d ur'| ¡ r't|ƒ}tj d¡}|d ur9| ¡ r9t|ƒ}|dksA|dkruzt t	j
 ¡ ¡}t|Ž }W n tttfy^   | j}Y nw |dkrj|jpi| jj}|dkru|jpt| jj}t| j d u r}|n| j | jd u r‡|ƒS | jƒS )Nr   ÚCOLUMNSÚLINES)r   r   r   ÚosÚenvironÚgetÚisdigitr   Úget_terminal_sizeÚsysÚ
__stdout__ÚfilenoÚAttributeErrorÚ
ValueErrorÚOSErrorr   r   r   )r   r   r   ÚcolumnsÚlinesÚos_sizer   r   r   r   r    %   s6   
ýþþzTerminal._get_terminal_size)NNN)r   r   r   r   r   r   r   r   )r   r   )r   r   )	r   r	   r
   r   Úpropertyr   r   r   r    r   r   r   r   r      s    ü
r   )Ú
__future__r   r#   r(   Útypingr   r   r   r   r   r   r   Ú<module>   s    