feat(p3): add discovery, telegram notifications, and one-click favorites
Implement WBI video search with legacy fallback, classification scoring, candidate pool, permanent seen-aid dedupe, blacklist filtering, and batched Telegram notifications. Add write client for fav deal/sort, target-folder selection, insertion position calculation, read-back verification, fav_action locking, retry on failure, ignore and blacklist actions. Wire discovery, candidate cleanup, Telegram long polling, and new discover/candidates CLI commands into the scheduler. Add migration v3 for candidate duration and index stats.
This commit is contained in:
1 parent
6a21b5d905
commit
d971e718e9
31 files changed
+2886
-55
No files matched your search
@@ -143,11 +143,19 @@ def test_initial_import_and_incremental_skip():
|
||||
clock = [1_800_000_000]
|
||||
db, repo, service = make_service(tmp, transport, clock)
|
||||
try:
|
||||
repo.upsert_candidate(
|
||||
aid=1101, bvid="BV1101", title="咻咻满 reaction",
|
||||
up_mid=100, up_name="UP", pubdate=1_799_000_000,
|
||||
cover=None, score=3, channel="search:test#p1",
|
||||
now=1_799_999_000,
|
||||
)
|
||||
summary = service.run()
|
||||
assert summary.ok
|
||||
assert summary.added == 4
|
||||
assert summary.missing == 1
|
||||
assert summary.refreshed == 3
|
||||
# 人工加入收藏夹后,同 aid 候选自动移除
|
||||
assert repo.get_candidate(1101) is None
|
||||
assert repo.seed_blacklist([999], now=0) == 0 # 已由 service 写入
|
||||
|
||||
assert repo.get_video(1101)["status"] == "active"
|
||||
|
||||
Reference in new issue
Block a user