Skip to content

Commit 8c8a4db

Browse files
authored
Account for nested map params (#277) (#280)
1 parent cfc4529 commit 8c8a4db

File tree

1 file changed

+6
-5
lines changed
  • generate_parameter_library_py/generate_parameter_library_py

1 file changed

+6
-5
lines changed

generate_parameter_library_py/generate_parameter_library_py/parse_yaml.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,9 @@ def int_to_integer_str(value: str):
101101

102102
def get_dynamic_parameter_field(yaml_parameter_name: str):
103103
tmp = yaml_parameter_name.split('.')
104-
parameter_field = tmp[-1]
105-
return parameter_field
104+
num_nested = [i for i, val in enumerate(tmp) if is_mapped_parameter(val)]
105+
field = tmp[(max(num_nested) + 1) :] if len(num_nested) else tmp[-1]
106+
return '.'.join(field)
106107

107108

108109
def get_dynamic_mapped_parameter(yaml_parameter_name: str):
@@ -115,8 +116,8 @@ def get_dynamic_mapped_parameter(yaml_parameter_name: str):
115116

116117
def get_dynamic_struct_name(yaml_parameter_name: str):
117118
tmp = yaml_parameter_name.split('.')
118-
num_nested = sum([is_mapped_parameter(val) for val in tmp])
119-
struct_name = tmp[: -(num_nested + 1)]
119+
num_nested = [i for i, val in enumerate(tmp) if is_mapped_parameter(val)]
120+
struct_name = tmp[: (min(num_nested))] if len(num_nested) else ''
120121
return '.'.join(struct_name)
121122

122123

@@ -806,7 +807,7 @@ def parse_params(self, name, value, nested_name_list):
806807
var = VariableDeclaration(code_gen_variable)
807808

808809
# check if runtime parameter
809-
is_runtime_parameter = is_mapped_parameter(self.struct_tree.struct_name)
810+
is_runtime_parameter = is_mapped_parameter(param_name)
810811

811812
if is_runtime_parameter:
812813
declare_parameter_set = SetRuntimeParameter(param_name, code_gen_variable)

0 commit comments

Comments
 (0)