Ejemplo n.º 1
0
Archivo: util.c Proyecto: demos/Motif
PyObject *cfgtree_walk(ap_directive_t *dir)
{

    PyObject *list = PyList_New(0);
    if (!list)
        return PyErr_NoMemory();

    while (dir) {

        PyObject *t = Py_BuildValue("(s, s)", dir->directive, dir->args);
        if (!t)
            return PyErr_NoMemory();

        PyList_Append(list, t);

        if (dir->first_child) {

            PyObject *child = cfgtree_walk(dir->first_child);
            if (!child)
                return PyErr_NoMemory();

            PyList_Append(list, child);

        }

        dir = dir->next;
    } 

    return list;
}
Ejemplo n.º 2
0
static PyObject *config_tree(void)
{
    return cfgtree_walk(ap_conftree);
}