Commit f16e0ed7 authored by Andrew M. Kuchling's avatar Andrew M. Kuchling

Patch #102278: add tparm() function to _curses module

parent a776cea7
...@@ -466,6 +466,13 @@ terminfo capability name \var{capname}. \code{None} is returned if ...@@ -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: ...@@ -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) ...@@ -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[] = { ...@@ -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},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment