From 81cec0d3c4e3a1528c77703d9b009b16beb924c9 Mon Sep 17 00:00:00 2001 From: Frederic Peters Date: Tue, 29 Apr 2008 12:03:32 +0000 Subject: [project @ fpeters@0d.be-20071029175534-xyhm1jidpe624m3t] API compatibility with SWIG bindings which didn't have accessors for those methods and used totally pythonified method name instead, such as Logout::getNextProviderId; also improved python method naming converter function to correctly translate ID to Id. Original author: Frederic Peters Date: 2007-10-29 18:55:34.577000+01:00 --- bindings/lang_python.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bindings/lang_python.py b/bindings/lang_python.py index 9854f2a3..f493b7e8 100644 --- a/bindings/lang_python.py +++ b/bindings/lang_python.py @@ -43,6 +43,7 @@ def format_underscore_as_py(var): def rep(s): return s.group(1)[0].upper() + s.group(1)[1:] var = re.sub(r'_([A-Za-z0-9]+)', rep, var) + var = re.sub(r'([a-z])(ID)([A-Z]|$)', r'\1Id\3', var) # replace standing ID by Id return var class PythonBinding: @@ -252,9 +253,17 @@ import lasso except IndexError: setter = None mname = re.match(r'lasso_.*_get_(\w+)', m.name).group(1) + mname = format_underscore_as_py(mname) print >> fd, ' def get_%s(self):' % mname print >> fd, ' return _lasso.%s(self._cptr)' % m.name[6:] + + if mname[0] == mname[0].lower(): + # API compatibility with SWIG bindings which didn't have + # accessors for those methods and used totally pythonified + # method name instead, such as getNextProviderId + print >> fd, ' get%s%s = get_%s' % ( + mname[0].upper(), mname[1:], mname) if setter: print >> fd, ' def set_%s(self, value):' % mname print >> fd, ' _lasso.%s(self._cptr, value)' % setter.name[6:] -- cgit