feat: skip a verified placeholder file in The Only Doe 0.05 instead of failing the media conversion

gui/journal_icon.png in that build is a text note ("PLACEHOLDER: Download a journal icon...") with an
.svg next to it, so Ren'Py cannot load it either. A build can now list placeholder files by path and
SHA-256; only an exact match is skipped and the report carries a non-blocking warning. The full
conversion of the game (2898 files, 2.77 GB) now finishes without failed media.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Sonnet 5.5 committed 2026-10-26 04:02:22 +03:00
1 parent b3f435f416
commit 25bd39dd43
3 files changed
+32 -2

No files matched your search

+12
View File
@@ -71,3 +71,15 @@ def test_known_build_line_patch_requires_the_exact_line():
assert renpy_builds.prepare_source("renpy/the-only-doe-0.05", "other.rpy", source) == source
edited = source.replace("spitroast", "other")
assert renpy_builds.prepare_source("renpy/the-only-doe-0.05", "sleep.rpy", edited) == edited
def test_placeholder_media_is_skipped_only_on_an_exact_match(tmp_path):
from app.games import renpy_builds
icon = tmp_path / "gui" / "journal_icon.png"
icon.parent.mkdir()
icon.write_text("PLACEHOLDER: Download a journal icon from a free resource and save as journal_icon.png in gui folder.")
assert renpy_builds.placeholder_files("renpy/the-only-doe-0.05", tmp_path) == {icon}
assert renpy_builds.placeholder_files(None, tmp_path) == set()
icon.write_text("a real file now")
assert renpy_builds.placeholder_files("renpy/the-only-doe-0.05", tmp_path) == set()