Add wrapper for initscr() to copy the ACS_ and LINES,COLS bindings

This commit is contained in:
Andrew M. Kuchling 2000-06-26 23:54:03 +00:00
parent 99a5621f3f
commit 289d9d4227
1 changed files with 16 additions and 0 deletions

View File

@ -15,4 +15,20 @@ __revision__ = "$Id$"
from _curses import * from _curses import *
from curses.wrapper import wrapper 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