@@ -135,14 +135,18 @@ def optimize_python_code( # noqa: D417
135135 console .rule ()
136136 end_time = time .perf_counter ()
137137 logger .debug (f"Generating optimizations took { end_time - start_time :.2f} seconds." )
138- return [
139- OptimizedCandidate (
140- source_code = CodeStringsMarkdown .parse_markdown_code (opt ["source_code" ]),
141- explanation = opt ["explanation" ],
142- optimization_id = opt ["optimization_id" ],
138+ candidates = []
139+
140+ for opt in optimizations_json :
141+ code = CodeStringsMarkdown .parse_markdown_code (opt ["source_code" ])
142+ if not code .code_strings :
143+ continue
144+ candidates .append (
145+ OptimizedCandidate (
146+ source_code = code , explanation = opt ["explanation" ], optimization_id = opt ["optimization_id" ]
147+ )
143148 )
144- for opt in optimizations_json
145- ]
149+ return candidates
146150 try :
147151 error = response .json ()["error" ]
148152 except Exception :
@@ -205,14 +209,17 @@ def optimize_python_code_line_profiler( # noqa: D417
205209 optimizations_json = response .json ()["optimizations" ]
206210 logger .info (f"Generated { len (optimizations_json )} candidate optimizations using line profiler information." )
207211 console .rule ()
208- return [
209- OptimizedCandidate (
210- source_code = CodeStringsMarkdown .parse_markdown_code (opt ["source_code" ]),
211- explanation = opt ["explanation" ],
212- optimization_id = opt ["optimization_id" ],
212+ candidates = []
213+ for opt in optimizations_json :
214+ code = CodeStringsMarkdown .parse_markdown_code (opt ["source_code" ])
215+ if not code .code_strings :
216+ continue
217+ candidates .append (
218+ OptimizedCandidate (
219+ source_code = code , explanation = opt ["explanation" ], optimization_id = opt ["optimization_id" ]
220+ )
213221 )
214- for opt in optimizations_json
215- ]
222+ return candidates
216223 try :
217224 error = response .json ()["error" ]
218225 except Exception :
@@ -262,14 +269,19 @@ def optimize_python_code_refinement(self, request: list[AIServiceRefinerRequest]
262269 refined_optimizations = response .json ()["refinements" ]
263270 logger .debug (f"Generated { len (refined_optimizations )} candidate refinements." )
264271 console .rule ()
265- return [
266- OptimizedCandidate (
267- source_code = CodeStringsMarkdown .parse_markdown_code (opt ["source_code" ]),
268- explanation = opt ["explanation" ],
269- optimization_id = opt ["optimization_id" ][:- 4 ] + "refi" ,
272+ candidates = []
273+ for opt in refined_optimizations :
274+ code = CodeStringsMarkdown .parse_markdown_code (opt ["source_code" ])
275+ if not code .code_strings :
276+ continue
277+ candidates .append (
278+ OptimizedCandidate (
279+ source_code = code ,
280+ explanation = opt ["explanation" ],
281+ optimization_id = opt ["optimization_id" ][:- 4 ] + "refi" ,
282+ )
270283 )
271- for opt in refined_optimizations
272- ]
284+ return candidates
273285 try :
274286 error = response .json ()["error" ]
275287 except Exception :
0 commit comments