Clean and format code
(self, code: str)
| 370 | return False, str(e) |
| 371 | |
| 372 | def _clean_code_format(self, code: str) -> Optional[str]: |
| 373 | """Clean and format code""" |
| 374 | if not code: |
| 375 | return None |
| 376 | |
| 377 | # Remove markdown code block markers |
| 378 | if "```python" in code: |
| 379 | code = code.split("```python")[1].split("```")[0].strip() |
| 380 | elif "```" in code: |
| 381 | code = code.split("```")[1].strip() |
| 382 | |
| 383 | # Remove extra empty lines |
| 384 | lines = code.split("\n") |
| 385 | cleaned_lines = [] |
| 386 | prev_empty = False |
| 387 | |
| 388 | for line in lines: |
| 389 | if line.strip(): |
| 390 | cleaned_lines.append(line) |
| 391 | prev_empty = False |
| 392 | elif not prev_empty: |
| 393 | cleaned_lines.append(line) |
| 394 | prev_empty = True |
| 395 | |
| 396 | return "\n".join(cleaned_lines) |
| 397 | |
| 398 | def generate_fix_prompt(self, section_id: str, current_code: str, error_msg: str, attempt: int) -> str: |
| 399 | """Generate high-quality fix prompt""" |
no outgoing calls
no test coverage detected