2000-06-10 20:06:53 -03:00
|
|
|
"""curses
|
|
|
|
|
|
|
|
The main package for curses support for Python. Normally used by importing
|
|
|
|
the package, and perhaps a particular module inside it.
|
|
|
|
|
|
|
|
import curses
|
|
|
|
from curses import textpad
|
|
|
|
curses.initwin()
|
|
|
|
...
|
2004-07-18 03:16:08 -03:00
|
|
|
|
2000-06-10 20:06:53 -03:00
|
|
|
"""
|
|
|
|
|
|
|
|
__revision__ = "$Id$"
|
|
|
|
|
|
|
|
from _curses import *
|
|
|
|
from curses.wrapper import wrapper
|
Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60849,60852-60854,60856-60859,60861-60870,60874-60875,60880-60881,60886,60888-60890,60892,60894-60898,60900,60902-60906,60908,60911-60917,60919-60920,60922,60926,60929-60931,60933-60935,60937,60939-60941,60943-60954,60959-60961,60963-60964,60966-60967,60971,60977,60979-60989 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r60980 | georg.brandl | 2008-02-23 16:02:28 +0100 (Sat, 23 Feb 2008) | 2 lines
#1492: allow overriding BaseHTTPServer's content type for error messages.
........
r60982 | georg.brandl | 2008-02-23 16:06:25 +0100 (Sat, 23 Feb 2008) | 2 lines
#2165: fix test_logging failure on some machines.
........
r60983 | facundo.batista | 2008-02-23 16:07:35 +0100 (Sat, 23 Feb 2008) | 6 lines
Issue 1089358. Adds the siginterrupt() function, that is just a
wrapper around the system call with the same name. Also added
test cases, doc changes and NEWS entry. Thanks Jason and Ralf
Schmitt.
........
r60984 | georg.brandl | 2008-02-23 16:11:18 +0100 (Sat, 23 Feb 2008) | 2 lines
#2067: file.__exit__() now calls subclasses' close() method.
........
r60985 | georg.brandl | 2008-02-23 16:19:54 +0100 (Sat, 23 Feb 2008) | 2 lines
More difflib examples. Written for GHOP by Josip Dzolonga.
........
r60987 | andrew.kuchling | 2008-02-23 16:41:51 +0100 (Sat, 23 Feb 2008) | 1 line
#2072: correct documentation for .rpc_paths
........
r60988 | georg.brandl | 2008-02-23 16:43:48 +0100 (Sat, 23 Feb 2008) | 2 lines
#2161: Fix opcode name.
........
r60989 | andrew.kuchling | 2008-02-23 16:49:35 +0100 (Sat, 23 Feb 2008) | 2 lines
#1119331: ncurses will just call exit() if the terminal name isn't found.
Call setupterm() first so that we get a Python exception instead of just existing.
........
2008-02-23 12:23:06 -04:00
|
|
|
import os as _os
|
2000-06-10 20:06:53 -03:00
|
|
|
|
2000-06-26 20:54:03 -03:00
|
|
|
# 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
|
Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60700,60705-60706,60708,60711,60714,60720,60724-60730,60732,60736,60742,60744,60746,60748,60750-60751,60753,60756-60757,60759-60761,60763-60764,60766,60769-60770,60774-60784,60787-60789,60793,60796,60799-60809,60812-60813,60815-60821,60823-60826,60828-60829,60831-60834,60836,60838-60839,60846-60849,60852-60854,60856-60859,60861-60870,60874-60875,60880-60881,60886,60888-60890,60892,60894-60898,60900,60902-60906,60908,60911-60917,60919-60920,60922,60926,60929-60931,60933-60935,60937,60939-60941,60943-60954,60959-60961,60963-60964,60966-60967,60971,60977,60979-60989 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r60980 | georg.brandl | 2008-02-23 16:02:28 +0100 (Sat, 23 Feb 2008) | 2 lines
#1492: allow overriding BaseHTTPServer's content type for error messages.
........
r60982 | georg.brandl | 2008-02-23 16:06:25 +0100 (Sat, 23 Feb 2008) | 2 lines
#2165: fix test_logging failure on some machines.
........
r60983 | facundo.batista | 2008-02-23 16:07:35 +0100 (Sat, 23 Feb 2008) | 6 lines
Issue 1089358. Adds the siginterrupt() function, that is just a
wrapper around the system call with the same name. Also added
test cases, doc changes and NEWS entry. Thanks Jason and Ralf
Schmitt.
........
r60984 | georg.brandl | 2008-02-23 16:11:18 +0100 (Sat, 23 Feb 2008) | 2 lines
#2067: file.__exit__() now calls subclasses' close() method.
........
r60985 | georg.brandl | 2008-02-23 16:19:54 +0100 (Sat, 23 Feb 2008) | 2 lines
More difflib examples. Written for GHOP by Josip Dzolonga.
........
r60987 | andrew.kuchling | 2008-02-23 16:41:51 +0100 (Sat, 23 Feb 2008) | 1 line
#2072: correct documentation for .rpc_paths
........
r60988 | georg.brandl | 2008-02-23 16:43:48 +0100 (Sat, 23 Feb 2008) | 2 lines
#2161: Fix opcode name.
........
r60989 | andrew.kuchling | 2008-02-23 16:49:35 +0100 (Sat, 23 Feb 2008) | 2 lines
#1119331: ncurses will just call exit() if the terminal name isn't found.
Call setupterm() first so that we get a Python exception instead of just existing.
........
2008-02-23 12:23:06 -04:00
|
|
|
# we call setupterm() here because it raises an error
|
|
|
|
# instead of calling exit() in error cases.
|
|
|
|
setupterm(term=_os.environ.get("TERM", "unknown"))
|
2000-06-26 20:54:03 -03:00
|
|
|
stdscr = _curses.initscr()
|
|
|
|
for key, value in _curses.__dict__.items():
|
|
|
|
if key[0:4] == 'ACS_' or key in ('LINES', 'COLS'):
|
|
|
|
setattr(curses, key, value)
|
2004-07-18 03:16:08 -03:00
|
|
|
|
2000-06-26 20:54:03 -03:00
|
|
|
return stdscr
|
2000-06-10 20:06:53 -03:00
|
|
|
|
2001-04-05 13:08:41 -03:00
|
|
|
# This is a similar wrapper for start_color(), which adds the COLORS and
|
|
|
|
# COLOR_PAIRS variables which are only available after start_color() is
|
|
|
|
# called.
|
2004-07-18 03:16:08 -03:00
|
|
|
|
2001-04-05 13:08:41 -03:00
|
|
|
def start_color():
|
|
|
|
import _curses, curses
|
|
|
|
retval = _curses.start_color()
|
|
|
|
if hasattr(_curses, 'COLORS'):
|
|
|
|
curses.COLORS = _curses.COLORS
|
|
|
|
if hasattr(_curses, 'COLOR_PAIRS'):
|
|
|
|
curses.COLOR_PAIRS = _curses.COLOR_PAIRS
|
2004-07-18 03:16:08 -03:00
|
|
|
return retval
|
2001-04-05 13:08:41 -03:00
|
|
|
|
2000-07-31 22:21:11 -03:00
|
|
|
# Import Python has_key() implementation if _curses doesn't contain has_key()
|
|
|
|
|
|
|
|
try:
|
|
|
|
has_key
|
|
|
|
except NameError:
|
|
|
|
from has_key import has_key
|