diff options
author | R David Murray <rdmurray@bitdance.com> | 2011-06-18 20:21:09 -0400 |
---|---|---|
committer | R David Murray <rdmurray@bitdance.com> | 2011-06-18 20:21:09 -0400 |
commit | afc9a5eaa144eb246e22a16a6539821859fc08f5 (patch) | |
tree | caebfc5b3710eadb3e67da29b9e9a687c9b814a6 /Lib/curses/wrapper.py | |
parent | 50ae84e727b99c8000d2f6d03559dda90985a33d (diff) | |
download | cpython-git-afc9a5eaa144eb246e22a16a6539821859fc08f5.tar.gz |
#6771: Move wrapper function into __init__ and eliminate wrapper module
Andrew agreed in the issue that eliminating the module file made sense.
Wrapper has only been exposed as a function, and so there is no (easy)
way to access the wrapper module, which in any case only had the one
function in it. Since __init__ already contains a couple wrapper
functions, it seems to make sense to just move wrapper there instead of
importing it from a single function module.
Diffstat (limited to 'Lib/curses/wrapper.py')
-rw-r--r-- | Lib/curses/wrapper.py | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/Lib/curses/wrapper.py b/Lib/curses/wrapper.py deleted file mode 100644 index 5183ce741f..0000000000 --- a/Lib/curses/wrapper.py +++ /dev/null @@ -1,50 +0,0 @@ -"""curses.wrapper - -Contains one function, wrapper(), which runs another function which -should be the rest of your curses-based application. If the -application raises an exception, wrapper() will restore the terminal -to a sane state so you can read the resulting traceback. - -""" - -import curses - -def wrapper(func, *args, **kwds): - """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(). - """ - - try: - # Initialize curses - stdscr = curses.initscr() - - # Turn off echoing of keys, and enter cbreak mode, - # where no buffering is performed on keyboard input - curses.noecho() - curses.cbreak() - - # In keypad mode, escape sequences for special keys - # (like the cursor keys) will be interpreted and - # a special value like curses.KEY_LEFT will be returned - stdscr.keypad(1) - - # Start color, too. Harmless if the terminal doesn't have - # color; user can test with has_color() later on. The try/catch - # works around a minor bit of over-conscientiousness in the curses - # module -- the error return from C start_color() is ignorable. - try: - curses.start_color() - except: - pass - - return func(stdscr, *args, **kwds) - finally: - # Set everything back to normal - if 'stdscr' in locals(): - stdscr.keypad(0) - curses.echo() - curses.nocbreak() - curses.endwin() |