1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-24 03:46:39 +02:00

adding getinfo feature about dccs

This commit is contained in:
Emmanuel Bouthenot
2005-07-12 14:46:44 +00:00
parent 505b43d15b
commit d286f3922c
2 changed files with 96 additions and 0 deletions
+48
View File
@@ -362,6 +362,54 @@ wee_python_get_info (PyObject *self, PyObject *args)
{
return Py_BuildValue ("i", SERVER(gui_current_window->buffer)->is_away);
}
else if ( (strcasecmp (arg, "100") == 0) || (strcasecmp (arg, "dccs") == 0) )
{
t_irc_dcc *p = dcc_list;
int nbdccs = 0;
for(; p; p = p->next_dcc)
nbdccs++;
if (nbdccs == 0)
return Py_None;
PyObject *tuple = PyTuple_New(nbdccs);
if (!tuple)
return Py_None;
PyObject *tuplevalue;
int pos = 0;
for(; p; p = p->next_dcc)
{
tuplevalue = Py_BuildValue("{s:k,s:k,s:s,s:s,s:s,s:i,s:k,s:k,s:i,s:i}",
"address32", p->addr,
"cps", p->bytes_per_sec,
"remote_file", p->filename,
"local_file", p->local_filename,
"nick", p->nick,
"port", p->port,
"pos", p->pos,
"size", p->size,
"status", p->status,
"type", p->type);
if (tuplevalue)
{
if (PyTuple_SetItem(tuple, pos, tuplevalue) != 0)
{
PyMem_Free(tuplevalue);
PyMem_Free(tuple);
return Py_None;
}
}
else
return Py_None;
pos++;
}
return tuple;
}
if (info)
return Py_BuildValue ("s", info);