Commit 750d4ff
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}")