diff options
| -rw-r--r-- | bindings/lang_python.py | 10 |
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]) |
