fix: trace job imported wordcloud stickers

This commit is contained in:
2026-09-13 01:01:18 +08:00
parent 7e275798e7
commit 7f4ac45639
3 changed files with 13 additions and 2 deletions
+2 -1
View File
@@ -34,7 +34,8 @@ def find_visible_wordcloud_sources(
asset_id = str(element.get("assetId") or "")
meta = load_asset_meta(asset_id)
job_id = str(meta.get("job_id") or "")
if meta.get("type") == "wordcloud" and job_id and job_id not in seen:
asset_type = str(meta.get("type") or "")
if asset_type in {"wordcloud", "sticker"} and job_id and job_id not in seen:
seen.add(job_id)
result.append(WordcloudSource(asset_id, job_id))
return result
+9
View File
@@ -145,6 +145,15 @@ def test_scanner_skips_wordcloud_without_job_id():
assert find_visible_wordcloud_sources(document, assets.__getitem__) == []
def test_scanner_accepts_job_imported_wordcloud_stickers():
document = {"elements": [{"type": "sticker", "assetId": "wc-a"}]}
assets = {"wc-a": {"type": "sticker", "job_id": "a" * 32}}
assert find_visible_wordcloud_sources(document, assets.__getitem__) == [
WordcloudSource("wc-a", "a" * 32)
]
def test_snapshot_rejects_non_sqlite_file_without_creating_destination(tmp_path):
source = tmp_path / "not-a-database.sqlite"
destination = tmp_path / "archive" / "word_locations.sqlite"