MCPcopy Create free account
hub / github.com/BUPT-GAMMA/MASFactory / _update_codes

Method _update_codes

applications/chatdev/chatdev/codes.py:76–101  ·  view source on GitHub ↗

Updates code content, compares old and new, and logs the changes. Args: generated_content: New generated code content

(self, generated_content)

Source from the content-addressed store, hash-verified

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 """

Callers 1

update_and_rewriteFunction · 0.45

Calls 5

log_visualizeFunction · 0.90
keysMethod · 0.80
joinMethod · 0.80
CodesClass · 0.70
formatMethod · 0.45

Tested by

no test coverage detected