summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bindings/lang_python.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/bindings/lang_python.py b/bindings/lang_python.py
index 788c77f0..079eaa46 100644
--- a/bindings/lang_python.py
+++ b/bindings/lang_python.py
@@ -424,7 +424,7 @@ if WSF_SUPPORT:
py_args.append('%s = None' % arg_name)
else:
py_args.append(arg_name)
- if arg_type in ('char*', 'const char*', 'gchar*', 'const gchar*') or \
+ if arg_type in ('char*', 'const char*', 'gchar*', 'const gchar*', 'xmlNode*') or \
arg_type in ['int', 'gint', 'gboolean', 'const gboolean'] or \
arg_type in self.binding_data.enums:
c_args.append(arg_name)
@@ -796,11 +796,11 @@ register_constants(PyObject *d)
parse_tuple_format.append('i')
parse_tuple_args.append('&%s' % arg_name)
print >> fd, ' %s %s;' % (arg[0], arg[1])
- elif arg_type == 'GList*':
- print >> fd, ' %s %s = NULL;' % (arg[0], arg[1])
- print >> fd, ' PyObject *cvt_%s = NULL;' % arg_name
+ elif arg_type in ('GList*', 'xmlNode*'):
parse_tuple_format.append('O')
parse_tuple_args.append('&cvt_%s' % arg_name)
+ print >> fd, ' %s %s = NULL;' % (arg[0], arg[1])
+ print >> fd, ' PyObject *cvt_%s = NULL;' % arg_name
else:
parse_tuple_format.append('O')
parse_tuple_args.append('&cvt_%s' % arg_name)
@@ -830,6 +830,8 @@ register_constants(PyObject *d)
print >> fd, ' set_list_of_pygobject(&%s, cvt_%s);' % (arg[1], arg[1])
else:
print >> sys.stderr, 'E: unqualified GList argument in', name
+ elif arg[0] == 'xmlNode*':
+ print >> fd, ' %s = get_xml_node_from_pystring(cvt_%s);' % (arg[1], arg[1])
elif f == 'O':
print >> fd, ' %s = (%s)cvt_%s->obj;' % (arg[1], arg[0], arg[1])