Index: suite_leahi/shared/scripts/configuration/application_init.py =================================================================== diff -u -r4f71dc71ca95ab916947fafdc17c9e1e4f74c47e -r7b1b36dba873bc8ce532ccb46414283a89508592 --- suite_leahi/shared/scripts/configuration/application_init.py (.../application_init.py) (revision 4f71dc71ca95ab916947fafdc17c9e1e4f74c47e) +++ suite_leahi/shared/scripts/configuration/application_init.py (.../application_init.py) (revision 7b1b36dba873bc8ce532ccb46414283a89508592) @@ -187,3 +187,42 @@ aut_version = aut_name_and_version.split(" ") aut_version_only = aut_version[1] return aut_version_only + +def reset_system_setting(setting_key): + """ + Resets a specific setting in System.conf to its default value from System.dflt. + Example usage: reset_system_setting("HeparinSyringePump") + """ + base_path = Path.home() / "Public/luis/config/configurations/Settings/" + source_file = base_path / "System.dflt" + target_file = base_path / "System.conf" + + new_value = None + search_pattern = f"{setting_key} =" + + # Read the default value from .dflt + with open(source_file, 'r') as f: + for line in f: + if search_pattern in line: + new_value = line.split("=")[1].strip() + break + + if new_value is None: + print(f"Setting '{setting_key}' not found in {source_file.name}") + return + + # Read the current .conf file + with open(target_file, 'r') as f: + conf_lines = f.readlines() + + # Update the value in memory + updated_lines = [] + for line in conf_lines: + if line.strip().startswith(setting_key): + updated_lines.append(f"{setting_key} = {new_value}\n") + else: + updated_lines.append(line) + + # Write back to .conf + with open(target_file, 'w') as f: + f.writelines(updated_lines)