diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2000-06-26 23:54:03 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2000-06-26 23:54:03 (GMT) |
commit | 289d9d422707d4ae3ab00e658c262d6dd3f75963 (patch) | |
tree | 29ecb8f9fba0e5e4cc2b8a439f9b2fc3f2497d87 /Lib/curses/__init__.py | |
parent | 99a5621f3f2a1e2396aeb8a183c82905c02f829f (diff) | |
download | cpython-289d9d422707d4ae3ab00e658c262d6dd3f75963.zip cpython-289d9d422707d4ae3ab00e658c262d6dd3f75963.tar.gz cpython-289d9d422707d4ae3ab00e658c262d6dd3f75963.tar.bz2 |
Add wrapper for initscr() to copy the ACS_ and LINES,COLS bindings
Diffstat (limited to 'Lib/curses/__init__.py')
-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 8e8f7d8..1808ee6 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 |