diff options
| author | Michael W. Hudson <mwh@python.net> | 2004-08-07 15:18:07 (GMT) | 
|---|---|---|
| committer | Michael W. Hudson <mwh@python.net> | 2004-08-07 15:18:07 (GMT) | 
| commit | 09ad235f9976d55944be3104d9911dab10c1fa55 (patch) | |
| tree | e7028f42e1c52380e664d22eb81f3a4e703afb9d /Lib/curses/wrapper.py | |
| parent | 6f937b1c3038445e59a1bd593c26d6806548b25c (diff) | |
| download | cpython-09ad235f9976d55944be3104d9911dab10c1fa55.zip cpython-09ad235f9976d55944be3104d9911dab10c1fa55.tar.gz cpython-09ad235f9976d55944be3104d9911dab10c1fa55.tar.bz2  | |
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.
Diffstat (limited to 'Lib/curses/wrapper.py')
| -rw-r--r-- | Lib/curses/wrapper.py | 21 | 
1 files 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()  | 
