summaryrefslogtreecommitdiffstats
path: root/bindings/lang_php5_helpers/php_code.py
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:03:40 +0000
committerFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:03:40 +0000
commitf8233551a19ce4ead9f809d39cff49a94126d141 (patch)
tree68e751acd033f8c0b99f935fe578ae2b32bef338 /bindings/lang_php5_helpers/php_code.py
parent21607461fee5e76640aff9bee710119c07fcc69f (diff)
downloadlasso-f8233551a19ce4ead9f809d39cff49a94126d141.tar.gz
lasso-f8233551a19ce4ead9f809d39cff49a94126d141.tar.xz
lasso-f8233551a19ce4ead9f809d39cff49a94126d141.zip
[project @ fpeters@0d.be-20071031114522-jkrmvbpphcm0rms8]
moved identifier name formatting functions to their own module, so they are not duplicated everywhere. Original author: Frederic Peters <fpeters@0d.be> Date: 2007-10-31 12:45:22.367000+01:00
Diffstat (limited to 'bindings/lang_php5_helpers/php_code.py')
-rw-r--r--bindings/lang_php5_helpers/php_code.py33
1 files changed, 7 insertions, 26 deletions
diff --git a/bindings/lang_php5_helpers/php_code.py b/bindings/lang_php5_helpers/php_code.py
index bbd94958..28f9f77c 100644
--- a/bindings/lang_php5_helpers/php_code.py
+++ b/bindings/lang_php5_helpers/php_code.py
@@ -20,28 +20,8 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import re
-import string
-
-def format_attribute(var):
- if '_' in var:
- return format_underscore_as_py(var)
- if var[0] in string.uppercase:
- var = var[0].lower() + var[1:]
- return var
-
-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)
- return var
-
-def format_as_underscored(var):
- def rep(s):
- return s.group(0)[0] + '_' + s.group(1).lower()
- var = re.sub(r'[a-z0-9]([A-Z])', rep, var).lower()
- var = var.replace('id_wsf2_', 'idwsf2_')
- var = var.replace('_saslresponse', '_sasl_response')
- return var
+
+import utils
class PhpCode:
def __init__(self, binding_data, fd):
@@ -102,7 +82,7 @@ function cptrToPhp ($cptr) {
print >> self.fd, ''
def generate_constructors(self, klass):
- method_prefix = format_as_underscored(klass.name) + '_'
+ method_prefix = utils.format_as_underscored(klass.name) + '_'
for m in self.binding_data.functions:
if m.name == method_prefix + 'new':
php_args = []
@@ -167,7 +147,7 @@ function cptrToPhp ($cptr) {
print >> self.fd, ''
for m in klass.members:
- mname = format_attribute(m[1])
+ mname = utils.format_as_camelcase(m[1])
options = m[2]
# Getters
@@ -205,7 +185,7 @@ function cptrToPhp ($cptr) {
pass
# second pass on methods, real methods
- method_prefix = format_as_underscored(klass.name) + '_'
+ method_prefix = utils.format_as_underscored(klass.name) + '_'
for m in methods:
if m.name.endswith('_new') or m.name.endswith('_new_from_dump') or \
m.name.endswith('_new_full'):
@@ -248,7 +228,8 @@ function cptrToPhp ($cptr) {
else:
c_args = ''
- print >> self.fd, ' public function %s(%s) {' % (format_underscore_as_py(mname), php_args)
+ print >> self.fd, ' public function %s(%s) {' % (
+ utils.format_underscore_as_camelcase(mname), php_args)
# FIXME: add php api documentation
# if m.docstring:
# print >> fd, " '''"