(self, modifications: List[Dict[str, Any]])
| 758 | self.lines = original_code.split("\n") |
| 759 | |
| 760 | def apply_grid_modifications(self, modifications: List[Dict[str, Any]]) -> str: |
| 761 | modified_lines = self.lines.copy() |
| 762 | for mod in modifications: |
| 763 | try: |
| 764 | line_idx = int(mod["line_number"]) - 1 |
| 765 | except Exception: |
| 766 | continue |
| 767 | if not (0 <= line_idx < len(modified_lines)): |
| 768 | continue |
| 769 | original_line = modified_lines[line_idx] |
| 770 | # print(f"Replace line {line_idx + 1}: {original_line} -> {mod['new_code'].strip()}") |
| 771 | indent = len(original_line) - len(original_line.lstrip()) |
| 772 | new_code = " " * indent + mod["new_code"].strip() |
| 773 | modified_lines[line_idx] = new_code |
| 774 | return "\n".join(modified_lines) |
| 775 | |
| 776 | def parse_feedback_and_modify(self, feedback_list: List[str]) -> str: |
| 777 | """feedback_list: ['... Solution: Line 121: self.place_at_grid(... )', ...]""" |
no outgoing calls
no test coverage detected