summaryrefslogtreecommitdiff
path: root/lib/command_py.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/command_py.c')
-rw-r--r--lib/command_py.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/command_py.c b/lib/command_py.c
index ada0f0d386..82ca5a8ffc 100644
--- a/lib/command_py.c
+++ b/lib/command_py.c
@@ -258,9 +258,13 @@ static PyObject *graph_first(PyObject *self, PyObject *args)
return graph_to_pyobj(gwrap, gn);
};
+static PyObject *graph_merge(PyObject *self, PyObject *args);
+
static PyMethodDef methods_graph[] = {
- {"first", graph_first, METH_NOARGS, "first graph node"},
- {}};
+ { "first", graph_first, METH_NOARGS, "first graph node" },
+ { "merge", graph_merge, METH_VARARGS, "merge graphs" },
+ {}
+};
static PyObject *graph_parse(PyTypeObject *type, PyObject *args,
PyObject *kwds);
@@ -285,6 +289,20 @@ static PyTypeObject typeobj_graph = {
.tp_methods = methods_graph,
};
+static PyObject *graph_merge(PyObject *self, PyObject *args)
+{
+ PyObject *py_other;
+ struct wrap_graph *gwrap = (struct wrap_graph *)self;
+ struct wrap_graph *gother;
+
+ if (!PyArg_ParseTuple(args, "O!", &typeobj_graph, &py_other))
+ return NULL;
+
+ gother = (struct wrap_graph *)py_other;
+ cmd_graph_merge(gwrap->graph, gother->graph, +1);
+ Py_RETURN_NONE;
+}
+
/* top call / entrypoint for python code */
static PyObject *graph_parse(PyTypeObject *type, PyObject *args, PyObject *kwds)
{