a
    ze)                     @   s`   d Z ddlT ddlZddlZdd Zdd Zze W n e	yR   dd	lmZ Y n0 d
d Z
dS )zcurses

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   dd l } dd l}ttjddtj d | 	 }| j
 D ],\}}|dd dks^|dv r>t||| q>|S )Nr   ZTERMunknown)Ztermfd   ZACS_)LINESZCOLS)_cursescursesZ	setupterm_osenvironget_sys
__stdout__filenoinitscr__dict__itemssetattr)r   r   stdscrkeyvalue r   %/usr/lib/python3.9/curses/__init__.pyr      s    r   c                  C   s@   dd l } dd l}|  }t| dr*| j|_t| dr<| j|_|S )Nr   COLORSCOLOR_PAIRS)r   r   start_colorhasattrr   r   )r   r   Zretvalr   r   r   r   *   s    

r      )has_keyc             	   O   s   ztt  }t  t  |d z
t  W n   Y n0 | |g|R i |W dt v rr|d t  t  t  S n(dt v r|d t  t  t  0 dS )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   ZnoechoZcbreakZkeypadr   localsZechoZnocbreakZendwin)funcargskwdsr   r   r   r   wrapper?   s4    



    

r"   )__doc__r   osr	   sysr   r   r   r   	NameErrorr"   r   r   r   r   <module>   s   
