added handling of constants equaling constants. e.g. FMT_DEFAULT = FMT_MATLAB
This commit is contained in:
@@ -43,6 +43,13 @@ def noutputs(args):
|
||||
'''Counts the number of output arguments in the input list'''
|
||||
return len(outputs(args))
|
||||
|
||||
def convertibleToInt(string):
|
||||
try:
|
||||
int(string)
|
||||
return True
|
||||
except ValueError:
|
||||
return False
|
||||
|
||||
def capitalizeFirst(text):
|
||||
return text[0].upper() + text[1:]
|
||||
|
||||
|
@@ -20,6 +20,7 @@ class MatlabWrapperGenerator(object):
|
||||
jtemplate = Environment(loader=PackageLoader('templates', ''), trim_blocks=True, lstrip_blocks=True)
|
||||
|
||||
# add the custom filters
|
||||
jtemplate.filters['convertibleToInt'] = convertibleToInt
|
||||
jtemplate.filters['toUpperCamelCase'] = toUpperCamelCase
|
||||
jtemplate.filters['toLowerCamelCase'] = toLowerCamelCase
|
||||
jtemplate.filters['toUnderCase'] = toUnderCase
|
||||
@@ -79,7 +80,7 @@ class MatlabWrapperGenerator(object):
|
||||
populatedm = tconstm.render(constants=const)
|
||||
with open(output_map_dir+'/map.cpp', 'wb') as f:
|
||||
f.write(populatedc)
|
||||
with open(output_map_dir+'/map.m', 'wb') as f:
|
||||
with open(output_dir+'/cv.m', 'wb') as f:
|
||||
f.write(populatedm)
|
||||
|
||||
|
||||
|
@@ -1,14 +0,0 @@
|
||||
#/usr/bin/env python
|
||||
|
||||
# add the hdr_parser to the path
|
||||
import sys
|
||||
sys.path.append(sys.argv[1])
|
||||
|
||||
# get the IO from the command line arguments
|
||||
input_files = sys.argv[2:-1]
|
||||
output_dir = sys.argv[-1]
|
||||
|
||||
# create the generator
|
||||
from gen_matlab import MatlabWrapperGenerator
|
||||
mwg = MatlabWrapperGenerator()
|
||||
mwg.gen(input_files, output_dir)
|
@@ -23,7 +23,11 @@
|
||||
classdef cv
|
||||
properties (Constant = true)
|
||||
{% for key, val in constants.items() %}
|
||||
{% if val|convertibleToInt %}
|
||||
{{key}} = {{val}};
|
||||
{% else %}
|
||||
{{key}} = {{constants[val]}};
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user