3 \& @sbdZddlTddlZddlZddZddZyeWn e k rTdd lmZYnXd d Z dS) 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() ... )*NcCstddl}ddl}ttjjddtjjd|j }x:|j j D],\}}|dddks`|d kr@t |||q@W|S) NrZTERMunknown)ZtermfdZACS_LINESCOLS)rr) _cursescursesZ setupterm_osenvironget_sys __stdout__filenoinitscr__dict__itemssetattr)rr stdscrkeyvaluer'/usr/lib64/python3.6/curses/__init__.pyrsrcCs@ddl}ddl}|j}t|dr*|j|_t|dr<|j|_|S)NrCOLORS COLOR_PAIRS)rr start_colorhasattrrr)rr Zretvalrrrr*s  r)has_keycOsrzDt}tt|jdy tWn YnX||f||Sdtkrl|jdtttXdS)aWrapper 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(). rNrr) rZnoechoZcbreakZkeypadrlocalsZechoZnocbreakZendwin)funcargskwdsrrrrwrapper?s    r#) __doc__rosr sysr rrr NameErrorr#rrrr s