| 48 | old_lines = data[_PARAMS_TEXT_KEY].splitlines(True) |
| 49 | |
| 50 | def _update_lines(lines, old_dct, new_dct): |
| 51 | for key, value in new_dct.items(): |
| 52 | if isinstance(value, dict): |
| 53 | lines = _update_lines(lines, old_dct[key], value) |
| 54 | elif value != old_dct[key]["value"]: |
| 55 | lineno = old_dct[key]["lineno"] |
| 56 | lines[lineno] = lines[lineno].replace( |
| 57 | f" = {old_dct[key]['value']}", f" = {value}" |
| 58 | ) |
| 59 | else: |
| 60 | continue |
| 61 | return lines |
| 62 | |
| 63 | new_lines = _update_lines(old_lines, old_params, new_params) |
| 64 | new_text = "".join(new_lines) |