From 289d9d422707d4ae3ab00e658c262d6dd3f75963 Mon Sep 17 00:00:00 2001 From: "Andrew M. Kuchling" Date: Mon, 26 Jun 2000 23:54:03 +0000 Subject: Add wrapper for initscr() to copy the ACS_ and LINES,COLS bindings --- Lib/curses/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 -- cgit v0.12