mirror of
https://github.com/python/cpython.git
synced 2025-09-27 10:50:04 +00:00
Patch #102278: add tparm() function to _curses module
This commit is contained in:
parent
a776cea71a
commit
f16e0ed76c
2 changed files with 62 additions and 4 deletions
|
@ -466,6 +466,13 @@ terminfo capability name \var{capname}. \code{None} is returned if
|
||||||
from the terminal description.
|
from the terminal description.
|
||||||
\end{funcdesc}
|
\end{funcdesc}
|
||||||
|
|
||||||
|
\begin{funcdesc}{tparm}{str\optional{,...}}
|
||||||
|
Instantiates the string \var{str} with the supplied parameters, where
|
||||||
|
\var{str} should be a parameterized string obtained from the terminfo
|
||||||
|
database. E.g. \code{tparm(tigetstr("cup"),5,3)} could result in
|
||||||
|
\code{"\e{}033[6;4H"}, the exact result depending on terminal type.
|
||||||
|
\end{funcdesc}
|
||||||
|
|
||||||
\begin{funcdesc}{typeahead}{fd}
|
\begin{funcdesc}{typeahead}{fd}
|
||||||
Specifies that the file descriptor \var{fd} be used for typeahead
|
Specifies that the file descriptor \var{fd} be used for typeahead
|
||||||
checking. If \var{fd} is -1, then no typeahead checking is done.
|
checking. If \var{fd} is -1, then no typeahead checking is done.
|
||||||
|
|
|
@ -47,10 +47,9 @@ unsupported functions:
|
||||||
overlay overwrite resetty resizeterm restartterm ripoffline
|
overlay overwrite resetty resizeterm restartterm ripoffline
|
||||||
savetty scr_dump scr_init scr_restore scr_set scrl set_curterm
|
savetty scr_dump scr_init scr_restore scr_set scrl set_curterm
|
||||||
set_term setterm setupterm tgetent tgetflag tgetnum tgetstr
|
set_term setterm setupterm tgetent tgetflag tgetnum tgetstr
|
||||||
tgoto timeout tparm tputs tputs typeahead use_default_colors
|
tgoto timeout tputs typeahead use_default_colors vidattr
|
||||||
vidattr vidputs waddchnstr waddchstr wchgat wcolor_set
|
vidputs waddchnstr waddchstr wchgat wcolor_set winchnstr
|
||||||
winchnstr winchstr winnstr wmouse_trafo wredrawln wscrl
|
winchstr winnstr wmouse_trafo wredrawln wscrl wtimeout
|
||||||
wtimeout
|
|
||||||
|
|
||||||
Low-priority:
|
Low-priority:
|
||||||
slk_attr slk_attr_off slk_attr_on slk_attr_set slk_attroff
|
slk_attr slk_attr_off slk_attr_on slk_attr_set slk_attroff
|
||||||
|
@ -2097,6 +2096,57 @@ PyCurses_tigetstr(PyObject *self, PyObject *args)
|
||||||
return PyString_FromString( capname );
|
return PyString_FromString( capname );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
PyCurses_tparm(PyObject *self, PyObject *args)
|
||||||
|
{
|
||||||
|
char* fmt;
|
||||||
|
char* result = NULL;
|
||||||
|
int i1,i2,i3,i4,i5,i6,i7,i8,i9;
|
||||||
|
|
||||||
|
PyCursesInitialised;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args, "s|iiiiiiiii:tparm",
|
||||||
|
&fmt, &i1, &i2, &i3, &i4,
|
||||||
|
&i5, &i6, &i7, &i8, &i9)) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (PyTuple_GET_SIZE(args)) {
|
||||||
|
case 1:
|
||||||
|
result = tparm(fmt);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
result = tparm(fmt,i1);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
result = tparm(fmt,i1,i2);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
result = tparm(fmt,i1,i2,i3);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
result = tparm(fmt,i1,i2,i3,i4);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
result = tparm(fmt,i1,i2,i3,i4,i5);
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
result = tparm(fmt,i1,i2,i3,i4,i5,i6);
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
result = tparm(fmt,i1,i2,i3,i4,i5,i6,i7);
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
result = tparm(fmt,i1,i2,i3,i4,i5,i6,i7,i8);
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
result = tparm(fmt,i1,i2,i3,i4,i5,i6,i7,i8,i9);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return PyString_FromString(result);
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
PyCurses_TypeAhead(PyObject *self, PyObject *args)
|
PyCurses_TypeAhead(PyObject *self, PyObject *args)
|
||||||
{
|
{
|
||||||
|
@ -2246,6 +2296,7 @@ static PyMethodDef PyCurses_methods[] = {
|
||||||
{"tigetflag", (PyCFunction)PyCurses_tigetflag, METH_VARARGS},
|
{"tigetflag", (PyCFunction)PyCurses_tigetflag, METH_VARARGS},
|
||||||
{"tigetnum", (PyCFunction)PyCurses_tigetnum, METH_VARARGS},
|
{"tigetnum", (PyCFunction)PyCurses_tigetnum, METH_VARARGS},
|
||||||
{"tigetstr", (PyCFunction)PyCurses_tigetstr, METH_VARARGS},
|
{"tigetstr", (PyCFunction)PyCurses_tigetstr, METH_VARARGS},
|
||||||
|
{"tparm", (PyCFunction)PyCurses_tparm, METH_VARARGS},
|
||||||
{"typeahead", (PyCFunction)PyCurses_TypeAhead},
|
{"typeahead", (PyCFunction)PyCurses_TypeAhead},
|
||||||
{"unctrl", (PyCFunction)PyCurses_UnCtrl},
|
{"unctrl", (PyCFunction)PyCurses_UnCtrl},
|
||||||
{"ungetch", (PyCFunction)PyCurses_UngetCh},
|
{"ungetch", (PyCFunction)PyCurses_UngetCh},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue