代码规范

pull/1215/head
Windpicker-owo 2025-08-24 02:33:37 +08:00
parent 316a2b6567
commit cd9223ac63
1 changed files with 8 additions and 10 deletions

View File

@ -1,5 +1,7 @@
from typing import List, Dict, Any, Optional from typing import List, Dict, Any, Optional
import asyncio from src.common.logger import get_logger
logger = get_logger("base_event")
class HandlerResult: class HandlerResult:
"""事件处理器执行结果 """事件处理器执行结果
@ -87,24 +89,20 @@ class BaseEvent:
return HandlerResultsCollection([]) return HandlerResultsCollection([])
# 按权重从高到低排序订阅者 # 按权重从高到低排序订阅者
sorted_subscribers = sorted(self.subscribers, key=lambda h: getattr(h, 'weight', 0), reverse=True) # 使用直接属性访问,-1代表自动权重
sorted_subscribers = sorted(self.subscribers, key=lambda h: h.weight if hasattr(h, 'weight') and h.weight != -1 else 0, reverse=True)
results = [] results = []
for subscriber in sorted_subscribers: for subscriber in sorted_subscribers:
try: try:
result = await subscriber.execute(params) result = await subscriber.execute(params)
if not isinstance(result, HandlerResult): if not result.handler_name:
# 兼容旧版本将元组转换为HandlerResult
success, continue_process, message = result
result = HandlerResult(success, continue_process, message or "", getattr(subscriber, 'handler_name', 'unknown_handler'))
elif not result.handler_name:
# 补充handler_name # 补充handler_name
result.handler_name = getattr(subscriber, 'handler_name', 'unknown_handler') result.handler_name = subscriber.handler_name if hasattr(subscriber, 'handler_name') else subscriber.__class__.__name__
results.append(result) results.append(result)
except Exception as e: except Exception as e:
# 处理执行异常 # 处理执行异常
handler_name = getattr(subscriber, 'handler_name', str(subscriber)) handler_name = subscriber.handler_name if hasattr(subscriber, 'handler_name') else subscriber.__class__.__name__
logger = __import__('src.common.logger', fromlist=['get_logger']).get_logger("base_event")
logger.error(f"事件处理器 {handler_name} 执行失败: {e}") logger.error(f"事件处理器 {handler_name} 执行失败: {e}")
results.append(HandlerResult(False, True, str(e), handler_name)) results.append(HandlerResult(False, True, str(e), handler_name))