Updates code content, compares old and new, and logs the changes. Args: generated_content: New generated code content
(self, generated_content)
| 74 | return "\n".join([line for line in code.split("\n") if len(line.strip()) > 0]) |
| 75 | |
| 76 | def _update_codes(self, generated_content): |
| 77 | """ |
| 78 | Updates code content, compares old and new, and logs the changes. |
| 79 | Args: |
| 80 | generated_content: New generated code content |
| 81 | """ |
| 82 | new_codes = Codes(generated_content) |
| 83 | differ = difflib.Differ() |
| 84 | for key in new_codes.codebooks.keys(): |
| 85 | if key not in self.codebooks.keys() or self.codebooks[key] != new_codes.codebooks[key]: |
| 86 | update_codes_content = "**[Update Codes]**\n\n" |
| 87 | update_codes_content += "{} updated.\n".format(key) |
| 88 | old_codes_content = self.codebooks.get(key, "# None") |
| 89 | new_codes_content = new_codes.codebooks[key] |
| 90 | |
| 91 | lines_old = old_codes_content.splitlines() |
| 92 | lines_new = new_codes_content.splitlines() |
| 93 | |
| 94 | unified_diff = difflib.unified_diff(lines_old, lines_new, lineterm='', fromfile='Old', tofile='New') |
| 95 | unified_diff = '\n'.join(unified_diff) |
| 96 | update_codes_content += "\n\n" + """``` |
| 97 | ''' |
| 98 | '''\n""" + unified_diff + "\n```" |
| 99 | |
| 100 | log_visualize(update_codes_content) |
| 101 | self.codebooks[key] = new_codes.codebooks[key] |
| 102 | |
| 103 | def _rewrite_codes(self, git_management, phase_info=None) -> None: |
| 104 | """ |
no test coverage detected