summaryrefslogtreecommitdiffstats
path: root/bindings/lang_python.py
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/lang_python.py')
-rw-r--r--bindings/lang_python.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/bindings/lang_python.py b/bindings/lang_python.py
index b97de2d8..8dba3eb2 100644
--- a/bindings/lang_python.py
+++ b/bindings/lang_python.py
@@ -41,6 +41,7 @@ class PythonBinding:
self.generate_constants(fd)
for clss in self.binding_data.structs:
self.generate_class(clss, fd)
+ self.generate_functions(fd)
self.generate_footer(fd)
fd.close()
@@ -400,6 +401,19 @@ import lasso
s = regex.sub(rep, s)
return s
+ def generate_functions(self, fd):
+ for m in self.binding_data.functions:
+ if m.name.endswith('_new') or '_new_' in m.name:
+ continue
+ if m.rename:
+ pname = m.rename
+ name = m.rename
+ else:
+ name = m.name[6:]
+ pname = utils.format_as_camelcase(name)
+ print >> fd, '%s = _lasso.%s' % (pname, name)
+
+
def generate_wrapper(self, fd):
print >> fd, open(os.path.join(self.binding_data.src_dir,
'lang_python_wrapper_top.c')).read()
@@ -656,9 +670,10 @@ register_constants(PyObject *d)
'''
def generate_function_wrapper(self, m, fd):
- name = m.name[6:]
- if name == 'strerror': # special case so it doesn't conflict with strerror(3)
- name = 'strError'
+ if m.rename:
+ name = m.rename
+ else:
+ name = m.name[6:]
self.wrapper_list.append(name)
print >> fd, '''static PyObject*
%s(PyObject *self, PyObject *args)