diff --git a/pEpACIDgen/acid_yml.py b/pEpACIDgen/acid_yml.py index 271f2bc..cccef68 100644 --- a/pEpACIDgen/acid_yml.py +++ b/pEpACIDgen/acid_yml.py @@ -35,8 +35,7 @@ def _generate_functions(acid): data_root = acid["functions"] # Main - tmpl_main = "" - tmpl_main += 'method {name} {{\n' + tmpl_main = 'method {name} {{\n' tmpl_main += ' return type="{return_type}";\n' tmpl_main += '{subitems}' tmpl_main += '}};\n\n' @@ -48,8 +47,7 @@ def _generate_functions(acid): subitems=subitems_str) # Sub - tmpl_sub = "" - tmpl_sub += ' use {name} type="{type}";' + tmpl_sub = ' use {name} type="{type}";' kind_sub = "CursorKind.PARM_DECL" @@ -66,7 +64,8 @@ def _generate_functions(acid): ret = "" for item in main_items: - ret += _formatnew(item, tmpl_main, format_func_main, tmpl_sub, kind_sub, format_func_sub) + subitems_str = _format_subitems(item, tmpl_sub, kind_sub, format_func_sub) + ret += format_func_main(tmpl_main, item, subitems_str) return ret @@ -75,8 +74,7 @@ def _generate_structs(acid): data_root = acid["types"] # Main - tmpl_main = "" - tmpl_main += 'struct {name} {{\n' + tmpl_main = 'struct {name} {{\n' tmpl_main += '{subitems}' tmpl_main += '}};\n\n' @@ -84,8 +82,7 @@ def _generate_structs(acid): return tmpl.format(name=item["name"], subitems=subitems_str) # Sub - tmpl_sub = "" - tmpl_sub += ' field {name} type="{type}";' + tmpl_sub = ' field {name} type="{type}";' kind_sub = "CursorKind.FIELD_DECL" def format_func_sub(tmpl, item): @@ -99,7 +96,8 @@ def _generate_structs(acid): ret = "" for item in main_items: - ret += _formatnew(item, tmpl_main, format_func_main, tmpl_sub, kind_sub, format_func_sub) + subitems_str = _format_subitems(item, tmpl_sub, kind_sub, format_func_sub) + ret += format_func_main(tmpl_main, item, subitems_str) return ret @@ -108,8 +106,7 @@ def _generate_enums(acid): data_root = acid["types"] # Main - tmpl_main = "" - tmpl_main += 'enum {name} {{\n' + tmpl_main = 'enum {name} {{\n' tmpl_main += '{subitems}' tmpl_main += '}};\n\n' @@ -127,8 +124,7 @@ def _generate_enums(acid): return ret # Sub - tmpl_sub = "" - tmpl_sub += ' item {name} value={value};' + tmpl_sub = ' item {name} value={value};' kind_sub = "CursorKind.ENUM_CONSTANT_DECL" def format_func_sub(tmpl, item): @@ -142,7 +138,8 @@ def _generate_enums(acid): ret = "" for item in main_items: - ret += _formatnew(item, tmpl_main, format_func_main, tmpl_sub, kind_sub, format_func_sub) + subitems_str = _format_subitems(item, tmpl_sub, kind_sub, format_func_sub) + ret += format_func_main(tmpl_main, item, subitems_str) return ret @@ -155,6 +152,7 @@ def _formatnew(item, tmpl_main, func_main, tmpl_sub, kind_sub, func_sub): return ret + def _format_subitems(data, tmpl, kind, func): ret = ""