fix(analytics): shrink video efficiency and gate noisy boards by views

This commit is contained in:
kairee committed 2026-11-01 12:25:27 +08:00
1 parent e7034cfb84
commit bc3bef0743
12 files changed
+125 -40

No files matched your search

+8 -4
View File
@@ -133,27 +133,31 @@ def test_analytics_defaults_and_validation():
cfg = load_config(path, env={})
assert cfg.analytics.min_duration_seconds == 600
assert cfg.analytics.maturity_days == 2
assert cfg.analytics.min_view_for_efficiency == 0
assert cfg.analytics.min_view_for_ranking == 2000
assert cfg.analytics.video_shrink_minutes == 60
assert cfg.analytics.shrink_minutes is None
data = base_config()
data["analytics"] = {
"min_duration_seconds": 300,
"maturity_days": 7,
"min_view_for_efficiency": 100,
"min_view_for_ranking": 100,
"video_shrink_minutes": 30,
"shrink_minutes": 90,
}
write(path, data)
cfg = load_config(path, env={})
assert cfg.analytics.min_duration_seconds == 300
assert cfg.analytics.maturity_days == 7
assert cfg.analytics.min_view_for_efficiency == 100
assert cfg.analytics.min_view_for_ranking == 100
assert cfg.analytics.video_shrink_minutes == 30
assert cfg.analytics.shrink_minutes == 90
for bad, hint in (
({"min_duration_seconds": -1}, "min_duration_seconds"),
({"maturity_days": -1}, "maturity_days"),
({"min_view_for_efficiency": -1}, "min_view_for_efficiency"),
({"min_view_for_ranking": -1}, "min_view_for_ranking"),
({"video_shrink_minutes": -1}, "video_shrink_minutes"),
({"shrink_minutes": 0}, "shrink_minutes"),
({"shrink_minutes": "auto"}, "shrink_minutes"),
):