From 09ad235f9976d55944be3104d9911dab10c1fa55 Mon Sep 17 00:00:00 2001 From: "Michael W. Hudson" Date: Sat, 7 Aug 2004 15:18:07 +0000 Subject: This is patch [ 1005008 ] curses.wrapper should also forward keyword args Plus my rewrite to use finally as opposed to painfully doing the equivalent by hand. --- Lib/curses/wrapper.py | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/Lib/curses/wrapper.py b/Lib/curses/wrapper.py index b8905fb..0d004e0 100644 --- a/Lib/curses/wrapper.py +++ b/Lib/curses/wrapper.py @@ -9,7 +9,7 @@ to a sane state so you can read the resulting traceback. import sys, curses -def wrapper(func, *rest): +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' @@ -41,23 +41,10 @@ def wrapper(func, *rest): except: pass - res = func(stdscr, *rest) - except: - # In the event of an error, restore the terminal - # to a sane state. - stdscr.keypad(0) - curses.echo() - curses.nocbreak() - curses.endwin() - - # Pass the exception upwards - (exc_type, exc_value, exc_traceback) = sys.exc_info() - raise exc_type, exc_value, exc_traceback - else: + return func(stdscr, *rest) + finally: # Set everything back to normal stdscr.keypad(0) curses.echo() curses.nocbreak() - curses.endwin() # Terminate curses - - return res + curses.endwin() -- cgit v0.12