fix: 修复 Cross-Review 发现的问题

This commit is contained in:
2026-03-09 16:07:11 +08:00
parent f86bb7043c
commit 7e04321614
2 changed files with 21 additions and 1 deletions
+13 -1
View File
@@ -6,6 +6,7 @@ Cross-Debate 统计报告模块
import json
import os
import sys
import fcntl
from datetime import datetime, timezone
from pathlib import Path
@@ -49,6 +50,12 @@ class StatsManager:
filtered[key] = '***REDACTED***'
elif isinstance(value, dict):
filtered[key] = self._filter_sensitive_data(value)
elif isinstance(value, list):
# 处理列表中的字典元素
filtered[key] = [
self._filter_sensitive_data(item) if isinstance(item, dict) else item
for item in value
]
else:
filtered[key] = value
return filtered
@@ -75,7 +82,12 @@ class StatsManager:
# 获取共享锁(读锁)
fcntl.flock(f.fileno(), fcntl.LOCK_SH)
try:
data = json.load(f)
try:
data = json.load(f)
except json.JSONDecodeError as e:
# 文件损坏时返回空数据结构
print(f"⚠️ 警告: 统计文件损坏,将返回空数据: {e}", file=sys.stderr)
return {"events": []}
finally:
# 释放锁
fcntl.flock(f.fileno(), fcntl.LOCK_UN)