QA: Update requirements and refactor message handling logic etc.

This commit is contained in:
晴猫
2025-05-01 05:58:18 +09:00
parent 410c02e7ee
commit 2f669c7055
25 changed files with 578 additions and 581 deletions

View File

@@ -7,13 +7,16 @@ logger = get_module_logger(__name__)
def find_messages(
filter: Dict[str, Any], sort: Optional[List[tuple[str, int]]] = None, limit: int = 0, limit_mode: str = "latest"
message_filter: Dict[str, Any],
sort: Optional[List[tuple[str, int]]] = None,
limit: int = 0,
limit_mode: str = "latest",
) -> List[Dict[str, Any]]:
"""
根据提供的过滤器、排序和限制条件查找消息。
Args:
filter: MongoDB 查询过滤器。
message_filter: MongoDB 查询过滤器。
sort: MongoDB 排序条件列表,例如 [('time', 1)]。仅在 limit 为 0 时生效。
limit: 返回的最大文档数0表示不限制。
limit_mode: 当 limit > 0 时生效。 'earliest' 表示获取最早的记录, 'latest' 表示获取最新的记录(结果仍按时间正序排列)。默认为 'latest'
@@ -22,7 +25,7 @@ def find_messages(
消息文档列表,如果出错则返回空列表。
"""
try:
query = db.messages.find(filter)
query = db.messages.find(message_filter)
results: List[Dict[str, Any]] = []
if limit > 0:
@@ -46,28 +49,28 @@ def find_messages(
return results
except Exception as e:
log_message = (
f"查找消息失败 (filter={filter}, sort={sort}, limit={limit}, limit_mode={limit_mode}): {e}\n"
f"查找消息失败 (filter={message_filter}, sort={sort}, limit={limit}, limit_mode={limit_mode}): {e}\n"
+ traceback.format_exc()
)
logger.error(log_message)
return []
def count_messages(filter: Dict[str, Any]) -> int:
def count_messages(message_filter: Dict[str, Any]) -> int:
"""
根据提供的过滤器计算消息数量。
Args:
filter: MongoDB 查询过滤器。
message_filter: MongoDB 查询过滤器。
Returns:
符合条件的消息数量,如果出错则返回 0。
"""
try:
count = db.messages.count_documents(filter)
count = db.messages.count_documents(message_filter)
return count
except Exception as e:
log_message = f"计数消息失败 (filter={filter}): {e}\n" + traceback.format_exc()
log_message = f"计数消息失败 (message_filter={message_filter}): {e}\n" + traceback.format_exc()
logger.error(log_message)
return 0