[Python-checkins] CVS: python/dist/src/Lib/curses __init__.py,1.1,1.2
A.M. Kuchling
python-dev@python.org
Mon, 26 Jun 2000 16:54:05 -0700
Update of /cvsroot/python/python/dist/src/Lib/curses
In directory slayer.i.sourceforge.net:/tmp/cvs-serv16914
Modified Files:
__init__.py
Log Message:
Add wrapper for initscr() to copy the ACS_ and LINES,COLS bindings
Index: __init__.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/curses/__init__.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** __init__.py 2000/06/10 23:06:53 1.1
--- __init__.py 2000/06/26 23:54:03 1.2
***************
*** 16,18 ****
--- 16,34 ----
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