File: //lib64/python3.9/curses/__pycache__/__init__.cpython-39.opt-1.pyc
a
    �DOg)
  �                   @   s`   d Z ddlT ddlZddlZdd� Zdd� Zze W n e	yR   dd	lmZ Y n0 d
d� Z
dS )z�curses
The main package for curses support for Python.  Normally used by importing
the package, and perhaps a particular module inside it.
   import curses
   from curses import textpad
   curses.initscr()
   ...
�    )�*Nc                  C   sp   dd l } dd l}ttj�dd�tj�� d� | �	� }| j
�� D ],\}}|dd� dks^|dv r>t|||� q>|S )Nr   ZTERM�unknown)Zterm�fd�   ZACS_)�LINESZCOLS)
�_curses�cursesZ	setupterm�_os�environ�get�_sys�
__stdout__�fileno�initscr�__dict__�items�setattr)r   r   �stdscr�key�value� r   �'/usr/lib64/python3.9/curses/__init__.pyr      s    �r   c                  C   s@   dd l } dd l}| �� }t| d�r*| j|_t| d�r<| j|_|S )Nr   �COLORS�COLOR_PAIRS)r   r   �start_color�hasattrr   r   )r   r   Zretvalr   r   r   r   *   s    
r   �   )�has_keyc             	   O   s�   ztt � }t�  t�  |�d� z
t�  W n   Y n0 | |g|�R i |��W dt� v rr|�d� t�  t�  t�  S n(dt� v r�|�d� t�  t�  t�  0 dS )a  Wrapper function that initializes curses and calls another function,
    restoring normal keyboard/screen behavior on error.
    The callable object 'func' is then passed the main window 'stdscr'
    as its first argument, followed by any other arguments passed to
    wrapper().
    r   r   r   N)	r   ZnoechoZcbreakZkeypadr   �localsZechoZnocbreakZendwin)�func�args�kwdsr   r   r   r   �wrapper?   s4    
�    �
r"