diff --git a/src/utils/handlers.py b/src/utils/handlers.py index 9530e83..96f4d72 100644 --- a/src/utils/handlers.py +++ b/src/utils/handlers.py @@ -156,6 +156,17 @@ class BuildHandler(ABC): def clean_repo(self) -> None: self.container.exec_run(self.clean_cmd()) + def inject_changes(self, changes: dict[str, str]): + for file_path, change in changes.items(): + full_path = os.path.join(self.path, file_path) + print(f"[INFO] Writing change to {full_path}") + dirname = os.path.dirname(full_path) + if not os.path.exists(dirname): + print(f"[INFO] Creating directory {dirname}") + os.makedirs(dirname) + with open(full_path, "w") as f: + f.write(change) + @abstractmethod def get_type(self) -> str: pass diff --git a/src/utils/process_data.py b/src/utils/process_data.py index 6197a8f..6ce8a46 100644 --- a/src/utils/process_data.py +++ b/src/utils/process_data.py @@ -63,15 +63,7 @@ def evaluate_refinement(answers: dict[str, dict[str, str]], percent_cb): ) continue - for file_path, change in changes.items(): - full_path = os.path.join(build_handler.path, file_path) - print("[INFO] Writing change to file:", full_path) - dirname = os.path.dirname(full_path) - if not os.path.exists(dirname): - print("[INFO] Creating directory:", dirname) - os.makedirs(dirname) - with open(full_path, "w") as f: - f.write(change) + build_handler.inject_changes(changes) current_progress += 1 percent_cb(current_progress / total_number_of_steps * 100)