Skip to content

AddToView 2.1.3

Choose a tag to compare

@erichuanp erichuanp released this 04 May 02:41
· 22 commits to main since this release

修复

真正的同步漏视频根因找到了。

之前 2.1 / 2.1.1 / 2.1.2 都在调 cutoff 的天数,结果其实跟 cutoff 无关——是动态 feed 的解析里有个 silent bug:

stat.play(播放量)B 站对播放量超过 1 万的视频会返回 "8.3万"、"1.2亿" 这种带单位的字符串,而不是整数。原代码 int(stat.get("play") or 0) 直接抛 ValueError,被外层 except Exception as exc: logger.warning("dropping malformed feed item: %s", exc) 默默吞掉,整条视频被 drop。

效果就是:动态 feed 里凡是热门 UP(播放量超过 1 万)发的视频全军覆没,能进同步管线的只剩小破站长尾视频。一次同步从 100+ 条暴跌到 17 条。

修复:加了个 _parse_count 帮手,认识 "X.X万" / "X.X亿" / 整数 / 浮点数 / 空。同时 stat 字段不再非要 dict(防御性 fallback)。

修复后实测同步从 17 条 → 114 条。

推荐用 Docker Hub 拉取

docker pull yallaintsavage/addtoview:latest
docker run -d --name addtoview --restart unless-stopped -p 2232:2232 -p 2233:2233 -v addtoview-data:/app/data --add-host=host.docker.internal:host-gateway yallaintsavage/addtoview:latest

升级(已经在跑老版本的)

docker rm -f addtoview
docker pull yallaintsavage/addtoview:latest
docker run -d --name addtoview --restart unless-stopped -p 2232:2232 -p 2233:2233 -v addtoview-data:/app/data --add-host=host.docker.internal:host-gateway yallaintsavage/addtoview:latest

数据放在 named volume addtoview-data,删容器不会丢。

离线 tar.gz

下面 Assets 里下 addtoview-2.1.3.tar.gz:

gunzip -c addtoview-2.1.3.tar.gz | docker load
docker run -d --name addtoview --restart unless-stopped -p 2232:2232 -p 2233:2233 -v addtoview-data:/app/data --add-host=host.docker.internal:host-gateway yallaintsavage/addtoview:2.1.3