Commit 750d4ff

benny-dou <60535774+benny-dou@users.noreply.github.com>
2025-07-08 12:53:40
style(danmu): improve query progress display
1 parent fa12543
Changed files (2)
src
src/danmu/r2.py
@@ -27,11 +27,12 @@ async def query_r2(dates: list[str], user: str, keyword: str, caption: str, supe
         return {}
     prefix = DANMU.R2_PREFIX.rstrip("/") + f"/{qtype}/"
     total_count = 0
+    queried_dates = []
     paths = []
     for date in sorted(dates, reverse=True):  # 日期从新到旧
         logger.debug(f"Get {qtype} from R2: {date}")
-        await modify_progress(text=caption + f"\n🔍查询时间: {date}", force_update=True, **kwargs)
         data: dict[str, list[dict]] = await get_cf_r2(prefix + date, silent=True)
+        queried_dates.append(date)
         if not data:
             continue
         parsed = await parse_from_r2(data, user, keyword, super_chats, qtype)
@@ -40,7 +41,7 @@ async def query_r2(dates: list[str], user: str, keyword: str, caption: str, supe
             continue
         total_count += count
         texts = parsed.get("texts", "")
-        await modify_progress(text=caption + f"\n⏳已匹配 {total_count} 条{qtype}", force_update=True, **kwargs)
+        await modify_progress(text=caption + f"\n🔍查询时间: {'、'.join(queried_dates)}\n⏳匹配{qtype}数: {total_count}", force_update=True, **kwargs)
         del parsed
         save_path = f"{DOWNLOAD_DIR}/{user}-{date}-{keyword}-{qtype}.txt"
         async with await anyio.open_file(save_path, "w") as f:
src/danmu/server.py
@@ -26,6 +26,7 @@ async def query_server(dates: list[str], user: str, keyword: str, caption: str,
         return {}
     paths = []
     total_count = 0
+    queried_dates = []
     for date in sorted(dates, reverse=True):
         api_url = DANMU.BASE_URL + "/liveChat/queryList" if qtype == "弹幕" else DANMU.BASE_URL + "/srtInfo/queryList"
         payload = {"limit": DANMU.NUM_PER_QUERY, "liveDate": date}
@@ -35,15 +36,15 @@ async def query_server(dates: list[str], user: str, keyword: str, caption: str,
             payload |= {"message": keyword} if qtype == "弹幕" else {"content": keyword}
         payload["page"] = 1
         logger.debug(f"Query {qtype}: {payload}")
-        await modify_progress(text=f"\n🔍查询时间: {date}", force_update=True, **kwargs)
         resp = await hx_req(api_url, "POST", data=payload, proxy=DANMU.PROXY, check_kv={"code": 0}, silent=True)
+        queried_dates.append(date)
         parsed = await parse_from_server(resp.get("data", []), user, keyword, super_chats, qtype)
         count = parsed.get("count", 0)
         if count == 0:
             continue
         total_count += count
         texts = parsed.get("texts", "")
-        await modify_progress(text=caption + f"\n⏳已匹配 {total_count} 条{qtype}", force_update=True, **kwargs)
+        await modify_progress(text=caption + f"\n🔍查询时间: {'、'.join(queried_dates)}\n⏳匹配{qtype}数: {total_count}", force_update=True, **kwargs)
         while len(resp.get("data", [])) == payload["limit"] and parsed.get("count", 0):
             payload["page"] += 1
             logger.debug(f"Query {qtype}: {payload}")