diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2000-06-26 23:54:03 +0000 |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2000-06-26 23:54:03 +0000 |
commit | 166bff52496bfb47c5a3a03585bd10fb449b8d77 (patch) | |
tree | 59c9d06eddf65442c89cd72d35af7990068d24b0 /Lib/curses | |
parent | 5d302fd9c70bd00f820b64b9774c00dbae2516d1 (diff) | |
download | cpython-166bff52496bfb47c5a3a03585bd10fb449b8d77.tar.gz |
Add wrapper for initscr() to copy the ACS_ and LINES,COLS bindings
Diffstat (limited to 'Lib/curses')
-rw-r--r-- | Lib/curses/__init__.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/curses/__init__.py b/Lib/curses/__init__.py index 8e8f7d8bb7..1808ee61bb 100644 --- a/Lib/curses/__init__.py +++ b/Lib/curses/__init__.py @@ -15,4 +15,20 @@ __revision__ = "$Id$" from _curses import * from curses.wrapper import wrapper +# Some constants, most notably the ACS_* ones, are only added to the C +# _curses module's dictionary after initscr() is called. (Some +# versions of SGI's curses don't define values for those constants +# until initscr() has been called.) This wrapper function calls the +# underlying C initscr(), and then copies the constants from the +# _curses module to the curses package's dictionary. Don't do 'from +# curses import *' if you'll be needing the ACS_* constants. + +def initscr(): + import _curses, curses + stdscr = _curses.initscr() + for key, value in _curses.__dict__.items(): + if key[0:4] == 'ACS_' or key in ('LINES', 'COLS'): + setattr(curses, key, value) + + return stdscr |