MCPcopy Index your code
hub / github.com/BasicProtein/AugmentCode-Free / run

Method run

gui_qt6/patch_worker.py:223–288  ·  view source on GitHub ↗

执行批量补丁操作

(self)

Source from the content-addressed store, hash-verified

221 self.extension_finder = ExtensionFinder()
222
223 def run(self):
224 """执行批量补丁操作"""
225 try:
226 self.progress_updated.emit(get_text("patch.batch_starting"))
227
228 total_ides = len(self.ide_configs)
229 results = {}
230 overall_success = True
231
232 for i, (ide_type, config) in enumerate(self.ide_configs.items(), 1):
233 self.progress_updated.emit(get_text("patch.batch_processing",
234 ide_type=ide_type.value, current=i, total=total_ides))
235
236 patch_mode = config.get('patch_mode', PatchMode.RANDOM)
237 portable_root = config.get('portable_root')
238
239 # 查找扩展文件
240 extension_files = self.extension_finder.find_extension_files(ide_type, portable_root)
241
242 if not extension_files:
243 message = get_text("patch.batch_no_files")
244 results[ide_type.value] = {'success': False, 'message': message, 'files': []}
245 self.ide_completed.emit(ide_type.value, False, message)
246 overall_success = False
247 continue
248
249 # 应用补丁
250 success_count = 0
251 file_results = []
252
253 for file_path in extension_files:
254 result = self.patch_manager.apply_patch(file_path, patch_mode)
255 file_results.append({
256 'path': file_path,
257 'success': result.success,
258 'message': result.message
259 })
260 if result.success:
261 success_count += 1
262
263 # 记录结果
264 ide_success = success_count > 0
265 message = get_text("patch.batch_success", success=success_count, total=len(extension_files))
266 results[ide_type.value] = {
267 'success': ide_success,
268 'message': message,
269 'files': file_results
270 }
271
272 self.ide_completed.emit(ide_type.value, ide_success, message)
273 if not ide_success:
274 overall_success = False
275
276 # 完成总结
277 if overall_success:
278 final_message = get_text("patch.batch_completed", count=total_ides)
279 else:
280 final_message = get_text("patch.batch_partial")

Callers

nothing calls this directly

Calls 3

get_textFunction · 0.90
find_extension_filesMethod · 0.80
apply_patchMethod · 0.80

Tested by

no test coverage detected