-am (#1329)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"""Render scoreboards for every replay in TSSBOT/replays_sample/ for visual review.
|
||||
|
||||
Run from the TSSBOT dir: python -m scripts.gen_sample_scoreboards
|
||||
Outputs <session>/scoreboard.png next to each replay_data.json.
|
||||
"""
|
||||
import asyncio
|
||||
import glob
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
from BOT import transform, scoreboard # noqa: E402
|
||||
|
||||
|
||||
async def main():
|
||||
files = sorted(glob.glob("replays_sample/*/replay_data.json"))
|
||||
if not files:
|
||||
print("No sample replays found under replays_sample/")
|
||||
return
|
||||
for f in files:
|
||||
with open(f, encoding="utf-8") as fh:
|
||||
game = json.load(fh)
|
||||
model = transform.build_scoreboard_model(game, "<English>")
|
||||
if not model:
|
||||
print(f"SKIP {f}: model build returned None")
|
||||
continue
|
||||
out = os.path.join(os.path.dirname(f), "scoreboard.png")
|
||||
# bar_color "not_set": no guild team context in this offline render.
|
||||
await scoreboard.create_scoreboard(model, out, bar_color="not_set")
|
||||
size = os.path.getsize(out)
|
||||
print(f"OK {model['map']:<22} {model['session_id']} -> {out} ({size//1024} KB)")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user