Skip to content

Commit ca4166f

Browse files
authored
Merge pull request #148 from WSXYT/master
sentry
2 parents bee14ba + 4c3145f commit ca4166f

75 files changed

Lines changed: 485 additions & 477 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/Language/obtain_language.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def run(self):
6363
value = self._read_language_value()
6464
self.finished.emit(value)
6565
except Exception as e:
66-
logger.error(f"读取语言内容失败: {e}")
66+
logger.exception(f"读取语言内容失败: {e}")
6767
self.finished.emit(None)
6868

6969
def _read_language_value(self):

app/common/IPC_URL/csharp_ipc_handler.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def start_ipc_client(self) -> bool:
8989
return True
9090
except Exception as e:
9191
self.is_running = False
92-
logger.error(f"启动 C# IPC 客户端失败: {e}")
92+
logger.exception(f"启动 C# IPC 客户端失败: {e}")
9393
return False
9494

9595
def stop_ipc_client(self):
@@ -195,7 +195,7 @@ def get_on_class_left_time(self) -> int:
195195

196196
return total_seconds
197197
except Exception as e:
198-
logger.error(f"获取距离上课时间失败: {e}")
198+
logger.exception(f"获取距离上课时间失败: {e}")
199199
return 0
200200

201201
def get_current_class_info(self) -> dict:
@@ -230,7 +230,7 @@ def get_current_class_info(self) -> dict:
230230
return {"name": class_name}
231231

232232
except Exception as e:
233-
logger.error(f"从 ClassIsland 获取课程信息失败: {e}")
233+
logger.exception(f"从 ClassIsland 获取课程信息失败: {e}")
234234
return {}
235235

236236
def get_next_class_info(self) -> dict:
@@ -265,7 +265,7 @@ def get_next_class_info(self) -> dict:
265265
return {"name": class_name}
266266

267267
except Exception as e:
268-
logger.error(f"从 ClassIsland 获取下一节课信息失败: {e}")
268+
logger.exception(f"从 ClassIsland 获取下一节课信息失败: {e}")
269269
return {}
270270

271271
@staticmethod
@@ -335,7 +335,7 @@ async def client():
335335
except asyncio.CancelledError:
336336
pass
337337
except Exception as e:
338-
logger.error(f"C# IPC 客户端循环出错: {e}")
338+
logger.exception(f"C# IPC 客户端循环出错: {e}")
339339
finally:
340340
self.loop.close()
341341
self.loop = None

app/common/IPC_URL/protocol_manager.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def register_protocol(self) -> bool:
3939
elif self.is_linux:
4040
return self._register_linux_protocol()
4141
else:
42-
logger.error(f"不支持的操作系统: {sys.platform}")
42+
logger.exception(f"不支持的操作系统: {sys.platform}")
4343
return False
4444

4545
def unregister_protocol(self) -> bool:
@@ -54,7 +54,7 @@ def unregister_protocol(self) -> bool:
5454
elif self.is_linux:
5555
return self._unregister_linux_protocol()
5656
else:
57-
logger.error(f"不支持的操作系统: {sys.platform}")
57+
logger.exception(f"不支持的操作系统: {sys.platform}")
5858
return False
5959

6060
def is_protocol_registered(self) -> bool:
@@ -81,7 +81,7 @@ def _register_windows_protocol(self) -> bool:
8181
return self._register_windows_protocol_current_user(exe_path)
8282

8383
except Exception as e:
84-
logger.error(f"Windows协议注册失败: {e}")
84+
logger.exception(f"Windows协议注册失败: {e}")
8585
return False
8686

8787
def _register_windows_protocol_current_user(self, exe_path: str) -> bool:
@@ -105,7 +105,7 @@ def _register_windows_protocol_current_user(self, exe_path: str) -> bool:
105105
return True
106106

107107
except Exception as e:
108-
logger.error(f"Windows当前用户协议注册失败: {e}")
108+
logger.exception(f"Windows当前用户协议注册失败: {e}")
109109
return False
110110

111111
def _unregister_windows_protocol(self) -> bool:
@@ -115,7 +115,7 @@ def _unregister_windows_protocol(self) -> bool:
115115
return self._unregister_windows_protocol_current_user()
116116

117117
except Exception as e:
118-
logger.error(f"Windows协议注销失败: {e}")
118+
logger.exception(f"Windows协议注销失败: {e}")
119119
return False
120120

121121
def _unregister_windows_protocol_current_user(self) -> bool:
@@ -138,7 +138,7 @@ def _unregister_windows_protocol_current_user(self) -> bool:
138138
return True
139139

140140
except Exception as e:
141-
logger.error(f"Windows当前用户协议注销失败: {e}")
141+
logger.exception(f"Windows当前用户协议注销失败: {e}")
142142
return False
143143

144144
def _is_windows_protocol_registered(self) -> bool:
@@ -177,7 +177,7 @@ def _register_linux_protocol(self) -> bool:
177177
return True
178178

179179
except Exception as e:
180-
logger.error(f"Linux协议注册失败: {e}")
180+
logger.exception(f"Linux协议注册失败: {e}")
181181
return False
182182

183183
def _unregister_linux_protocol(self) -> bool:
@@ -194,7 +194,7 @@ def _unregister_linux_protocol(self) -> bool:
194194
return True
195195

196196
except Exception as e:
197-
logger.error(f"Linux协议注销失败: {e}")
197+
logger.exception(f"Linux协议注销失败: {e}")
198198
return False
199199

200200
def _is_linux_protocol_registered(self) -> bool:

app/common/IPC_URL/security_verifier.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def verify(self, verification_data: Dict[str, Any]) -> bool:
114114
return result
115115

116116
except Exception as e:
117-
logger.error(f"验证过程出错: {e}")
117+
logger.exception(f"验证过程出错: {e}")
118118
return False
119119

120120
def _check_attempt_limit(self, command: str) -> bool:
@@ -451,7 +451,7 @@ def _perform_verification(
451451
result = verifier.verify(verification_data)
452452
results.append(result)
453453
except Exception as e:
454-
logger.error(f"验证器执行失败: {e}")
454+
logger.exception(f"验证器执行失败: {e}")
455455
results.append(False)
456456

457457
if self.require_all:

app/common/IPC_URL/url_command_handler.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def handle_url_command(
119119
return result
120120

121121
except Exception as e:
122-
logger.error(f"URL命令处理失败: {e}")
122+
logger.exception(f"URL命令处理失败: {e}")
123123
return {
124124
"status": "error",
125125
"message": f"命令处理失败: {str(e)}",
@@ -163,7 +163,7 @@ def handle_ipc_command(self, message: Dict[str, Any]) -> Dict[str, Any]:
163163
}
164164

165165
except Exception as e:
166-
logger.error(f"IPC命令处理失败: {e}")
166+
logger.exception(f"IPC命令处理失败: {e}")
167167
return {"status": "error", "message": f"IPC命令处理失败: {str(e)}"}
168168

169169
def _parse_url(self, url: str) -> tuple:
@@ -318,7 +318,7 @@ def execute_command():
318318
logger.debug(f"验证后执行命令完成: {command}, 结果: {result}")
319319
return result
320320
except Exception as e:
321-
logger.error(f"验证后执行命令失败: {command}, 错误: {e}")
321+
logger.exception(f"验证后执行命令失败: {command}, 错误: {e}")
322322

323323
# 调用验证窗口
324324
create_verify_password_window(on_verified=execute_command, operation_type=op)
@@ -345,7 +345,7 @@ def _execute_command(self, command: str, params: Dict[str, Any]) -> Dict[str, An
345345
logger.debug(f"命令执行成功: {command}, 结果: {result}")
346346
return result
347347
except Exception as e:
348-
logger.error(f"命令执行失败: {command}, 错误: {e}")
348+
logger.exception(f"命令执行失败: {command}, 错误: {e}")
349349
return {
350350
"status": "error",
351351
"message": f"命令执行失败: {str(e)}",
@@ -365,7 +365,7 @@ def _execute_command(self, command: str, params: Dict[str, Any]) -> Dict[str, An
365365
)
366366
return result
367367
except Exception as e:
368-
logger.error(
368+
logger.exception(
369369
f"模糊匹配命令执行失败: {matched_command}, 错误: {e}"
370370
)
371371
return {
@@ -383,7 +383,7 @@ def _execute_command(self, command: str, params: Dict[str, Any]) -> Dict[str, An
383383
}
384384

385385
except Exception as e:
386-
logger.error(f"命令执行失败: {e}")
386+
logger.exception(f"命令执行失败: {e}")
387387
return {
388388
"status": "error",
389389
"message": f"命令执行失败: {str(e)}",
@@ -724,7 +724,7 @@ def verify_and_execute(
724724
)
725725

726726
if not self.security_verifier:
727-
logger.error("安全验证器未配置")
727+
logger.exception("安全验证器未配置")
728728
return {"success": False, "error": "安全验证器未配置"}
729729

730730
# 执行安全验证

app/common/IPC_URL/url_ipc_handler.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def register_url_protocol(self) -> bool:
5252
try:
5353
return self.protocol_manager.register_protocol()
5454
except Exception as e:
55-
logger.error(f"注册URL协议失败: {e}")
55+
logger.exception(f"注册URL协议失败: {e}")
5656
return False
5757

5858
def unregister_url_protocol(self) -> bool:
@@ -65,7 +65,7 @@ def unregister_url_protocol(self) -> bool:
6565
try:
6666
return self.protocol_manager.unregister_protocol()
6767
except Exception as e:
68-
logger.error(f"注销URL协议失败: {e}")
68+
logger.exception(f"注销URL协议失败: {e}")
6969
return False
7070

7171
def is_protocol_registered(self) -> bool:
@@ -97,7 +97,7 @@ def start_ipc_server(self, port: int = 0) -> bool:
9797
self.is_running = True
9898
return True
9999
except Exception as e:
100-
logger.error(f"启动IPC服务器失败: {e}")
100+
logger.exception(f"启动IPC服务器失败: {e}")
101101
return False
102102

103103
def stop_ipc_server(self):
@@ -140,11 +140,11 @@ def _run_server(self, port: int):
140140
continue
141141
except Exception as e:
142142
if self.is_running:
143-
logger.error(f"IPC服务器错误: {e}")
143+
logger.exception(f"IPC服务器错误: {e}")
144144
break
145145

146146
except Exception as e:
147-
logger.error(f"IPC服务器启动错误: {e}")
147+
logger.exception(f"IPC服务器启动错误: {e}")
148148
finally:
149149
if "server_socket" in locals():
150150
server_socket.close()
@@ -158,7 +158,7 @@ def _handle_client(self, client_socket: socket.socket, address: tuple):
158158
response = self._process_message(message)
159159
client_socket.send(json.dumps(response).encode("utf-8"))
160160
except Exception as e:
161-
logger.error(f"处理IPC消息错误: {e}")
161+
logger.exception(f"处理IPC消息错误: {e}")
162162
finally:
163163
client_socket.close()
164164

@@ -188,7 +188,7 @@ def _process_message(self, message: Dict[str, Any]) -> Dict[str, Any]:
188188
"type": message_type,
189189
"error": str(e),
190190
}
191-
logger.error(f"消息处理失败 - 类型: {message_type}, 错误: {e}")
191+
logger.exception(f"消息处理失败 - 类型: {message_type}, 错误: {e}")
192192
return error_response
193193
else:
194194
unknown_response = {
@@ -224,7 +224,7 @@ def _handle_url_message(self, payload: Dict[str, Any]) -> Dict[str, Any]:
224224
logger.info(f"URL命令执行成功: {url}, 结果: {result}")
225225
return {"success": True, "result": result}
226226
except Exception as e:
227-
logger.error(f"URL命令执行失败: {url}, 错误: {e}")
227+
logger.exception(f"URL命令执行失败: {url}, 错误: {e}")
228228
return {"success": False, "error": str(e)}
229229

230230
def register_message_handler(self, message_type: str, handler: Callable):
@@ -262,7 +262,7 @@ def send_ipc_message(
262262
return json.loads(response_data)
263263

264264
except Exception as e:
265-
logger.error(f"发送IPC消息失败: {e}")
265+
logger.exception(f"发送IPC消息失败: {e}")
266266
return None
267267

268268
def _save_port_config(self, port: int):
@@ -286,7 +286,7 @@ def load_port_config(self) -> Optional[int]:
286286
config = json.load(f)
287287
return config.get("port")
288288
except Exception as e:
289-
logger.error(f"加载端口配置失败: {e}")
289+
logger.exception(f"加载端口配置失败: {e}")
290290

291291
return None
292292

@@ -328,7 +328,7 @@ def handle_url_args(self, url: str) -> Dict[str, Any]:
328328
return result
329329

330330
except Exception as e:
331-
logger.error(f"URL参数解析失败: {url}, 错误: {e}")
331+
logger.exception(f"URL参数解析失败: {url}, 错误: {e}")
332332
return {"success": False, "error": str(e)}
333333

334334
def execute_url_command(
@@ -361,7 +361,7 @@ def execute_url_command(
361361
logger.info(f"URL命令执行成功: {url}, 结果: {result}")
362362
return {"success": True, "result": result}
363363
except Exception as e:
364-
logger.error(f"URL命令执行失败: {url}, 错误: {e}")
364+
logger.exception(f"URL命令执行失败: {url}, 错误: {e}")
365365
return {"success": False, "error": str(e)}
366366

367367
def get_available_commands(self) -> Dict[str, Any]:

app/common/behind_scenes/behind_scenes_utils.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def get_behind_scenes_settings(use_cache=True):
3939
BehindScenesUtils._cache_timestamp = current_time
4040
return settings
4141
except Exception as e:
42-
logger.error(f"读取内幕设置失败: {e}")
42+
logger.exception(f"读取内幕设置失败: {e}")
4343
return {}
4444

4545
@staticmethod
@@ -79,7 +79,7 @@ def get_probability_settings(name, mode, pool_name=None):
7979
return {"enabled": False, "probability": 1.0}
8080
return {"enabled": False, "probability": 1.0}
8181
except Exception as e:
82-
logger.error(f"获取概率设置失败: {e}")
82+
logger.exception(f"获取概率设置失败: {e}")
8383
return {"enabled": False, "probability": 1.0}
8484

8585
@staticmethod
@@ -176,7 +176,7 @@ def apply_probability_weights(
176176

177177
return filtered_students, weights
178178
except Exception as e:
179-
logger.error(f"应用内幕设置失败: {e}")
179+
logger.exception(f"应用内幕设置失败: {e}")
180180
return students_dict_list, [1.0] * len(students_dict_list)
181181

182182
@staticmethod
@@ -239,7 +239,7 @@ def apply_probability_weights_to_items(items, mode, pool_name):
239239

240240
return filtered_items, weights
241241
except Exception as e:
242-
logger.error(f"应用内幕设置失败: {e}")
242+
logger.exception(f"应用内幕设置失败: {e}")
243243
return items, [1.0] * len(items)
244244

245245
@staticmethod
@@ -271,5 +271,5 @@ def ensure_guaranteed_selection(
271271

272272
return None
273273
except Exception as e:
274-
logger.error(f"确保必中人员失败: {e}")
274+
logger.exception(f"确保必中人员失败: {e}")
275275
return None

0 commit comments

Comments
 (0)