Update RunCodeFileEditAtomicFlow.py
Browse files
RunCodeFileEditAtomicFlow.py
CHANGED
@@ -54,6 +54,15 @@ class RunCodeFileEditAtomicFlow(CodeFileEditAtomicFlow):
|
|
54 |
def _generate_input_to_writer(self, input_data: Dict[str, Any]):
|
55 |
code_str = input_data['code']
|
56 |
code_lib_location = input_data["memory_files"]["code_library"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
lang_details = self._generate_file_extension_and_comment_sign(input_data["language"])
|
58 |
content_to_write = self._generate_content(code_str, lang_details["comment"])
|
59 |
file_location_to_write = self._generate_temp_file_location(code_lib_location, lang_details["extension"])
|
|
|
54 |
def _generate_input_to_writer(self, input_data: Dict[str, Any]):
|
55 |
code_str = input_data['code']
|
56 |
code_lib_location = input_data["memory_files"]["code_library"]
|
57 |
+
|
58 |
+
# if we are running python code and if the code is importing the code library after one modification, we need
|
59 |
+
# to re-import the library.
|
60 |
+
code_lang = input_data["language"].lower()
|
61 |
+
code_lib_name = os.path.splitext(os.path.basename(code_lib_location))[0]
|
62 |
+
if code_lang == 'python' and code_lib_name in code_str:
|
63 |
+
prepend_code = f"import importlib\nimport {code_lib_name}\nimportlib.reload({code_lib_name})\n"
|
64 |
+
code_str = prepend_code + code_str
|
65 |
+
|
66 |
lang_details = self._generate_file_extension_and_comment_sign(input_data["language"])
|
67 |
content_to_write = self._generate_content(code_str, lang_details["comment"])
|
68 |
file_location_to_write = self._generate_temp_file_location(code_lib_location, lang_details["extension"])
|