执行所有工具任务
(self)
| 183 | self.ide_name = get_ide_display_name(ide_type) |
| 184 | |
| 185 | def run(self): |
| 186 | """执行所有工具任务""" |
| 187 | try: |
| 188 | self.emit_progress(get_text("workers.run_all.starting", ide_name=self.ide_name)) |
| 189 | self.emit_status(get_text("workers.run_all.running"), "info") |
| 190 | |
| 191 | # 步骤1: 关闭IDE |
| 192 | self.emit_progress(get_text("workers.run_all.step_close", ide_name=self.ide_name)) |
| 193 | self._close_ide() |
| 194 | |
| 195 | if self.is_cancelled: |
| 196 | return |
| 197 | |
| 198 | # 步骤2: 清理数据库 |
| 199 | self.emit_progress(get_text("workers.run_all.step_clean", ide_name=self.ide_name)) |
| 200 | db_success = clean_ide_database(self.ide_type, self.keyword) |
| 201 | |
| 202 | if self.is_cancelled: |
| 203 | return |
| 204 | |
| 205 | if db_success: |
| 206 | self.emit_progress(get_text("workers.run_all.db_completed")) |
| 207 | else: |
| 208 | self.emit_progress(get_text("workers.run_all.db_failed")) |
| 209 | |
| 210 | # 步骤3: 修改遥测ID |
| 211 | self.emit_progress(get_text("workers.run_all.step_modify", ide_name=self.ide_name)) |
| 212 | id_success = modify_ide_telemetry_ids(self.ide_type) |
| 213 | |
| 214 | if self.is_cancelled: |
| 215 | return |
| 216 | |
| 217 | if id_success: |
| 218 | self.emit_progress(get_text("workers.run_all.ids_completed")) |
| 219 | else: |
| 220 | self.emit_progress(get_text("workers.run_all.ids_failed")) |
| 221 | |
| 222 | # 完成 |
| 223 | overall_success = db_success and id_success |
| 224 | if overall_success: |
| 225 | self.emit_progress(get_text("workers.run_all.all_completed", ide_name=self.ide_name)) |
| 226 | self.emit_status(get_text("status.completed"), "success") |
| 227 | else: |
| 228 | self.emit_progress(get_text("workers.run_all.partial_failed", ide_name=self.ide_name)) |
| 229 | self.emit_status(get_text("status.failed"), "warning") |
| 230 | |
| 231 | self.task_completed.emit(overall_success) |
| 232 | |
| 233 | except Exception as e: |
| 234 | self.emit_progress(get_text("workers.run_all.error", error=str(e))) |
| 235 | self.emit_status(get_text("status.failed"), "error") |
| 236 | self.task_completed.emit(False) |
| 237 | |
| 238 | def _close_ide(self): |
| 239 | """关闭IDE的内部方法""" |
no test coverage detected