Skip to content

Commit e0919de

Browse files
authored
Merge branch 'main' into new-aptly-install-style
2 parents 8e79fb7 + f917872 commit e0919de

File tree

1 file changed

+25
-11
lines changed

1 file changed

+25
-11
lines changed

casper-node-util/usr/bin/casper-node-util

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,18 @@ def is_toml_comment_or_empty(line_data):
212212

213213
def replace_config_values(config_data, replace_file):
214214
""" Replace values in config_data with values for fields in replace_file """
215+
216+
# new line with replacement value if needed or original line
217+
def original_or_replaced_line(replacements, header, name, line):
218+
replacement_value = [r_value for r_header, r_name, r_value in replacements
219+
if header == r_header and name == r_name]
220+
if len(replacement_value) == 0:
221+
return line
222+
else:
223+
new_value = replacement_value[0]
224+
print(f"Replacing {last_header}:{name} = {value} with {new_value}")
225+
return f"{name} = {new_value}"
226+
215227
replace_file_path = Path(replace_file)
216228
if not replace_file_path.exists():
217229
raise ValueError(f"Cannot replace values in config, {replace_file} does not exist.")
@@ -231,24 +243,26 @@ def replace_config_values(config_data, replace_file):
231243
last_header = None
232244
for line in config_data.splitlines():
233245
if is_toml_comment_or_empty(line):
234-
new_output.append(line)
246+
# See if this is a commented out value such as trusted_hash
247+
try:
248+
name, value = toml_name_value(line[1:])
249+
line = original_or_replaced_line(replacements, last_header, name, line)
250+
new_output.append(line)
251+
except ValueError:
252+
# parsing failed so comment isn't a name=value pair.
253+
new_output.append(line)
235254
continue
236255
header = toml_header(line)
237256
if header is not None:
238257
last_header = header
239258
new_output.append(line)
240259
continue
241260
name, value = toml_name_value(line)
242-
replacement_value = [r_value for r_header, r_name, r_value in replacements
243-
if last_header == r_header and name == r_name]
244-
if replacement_value:
245-
new_value = replacement_value[0]
246-
print(f"Replacing {last_header}:{name} = {value} with {new_value}")
247-
new_output.append(f"{name} = {new_value}")
248-
else:
249-
new_output.append(line)
250-
# Make trailing new line
251-
new_output.append("")
261+
line = original_or_replaced_line(replacements, last_header, name, value)
262+
new_output.append(line)
263+
264+
# Make trailing new line
265+
new_output.append("")
252266
return "\n".join(new_output)
253267

254268
def walk_path(path, include_dir=True):

0 commit comments

Comments
 (0)