[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