Fresh start - excluded large ROM JSON files

This commit is contained in:
OpenClaw Agent
2026-04-11 09:45:12 -05:00
commit 5deb387aa6
395 changed files with 47744 additions and 0 deletions

53
tools/rom-quick-scan.py Normal file
View File

@@ -0,0 +1,53 @@
import os
import json
from pathlib import Path
from datetime import datetime
ROOT = "R:/"
OUTPUT = "C:/Users/admin/.openclaw/workspace/rom-inventory"
DISC = {"PSX", "PS2", "PS3", "PSP", "PS VITA", "Sega CD", "Sega Dreamcast", "Sega Saturn", "OG XBOX", "XBOX 360"}
EXTS = {".sfc", ".nes", ".z64", ".v64", ".n64", ".gba", ".gbc", ".gb", ".nds", ".3ds", ".iso", ".bin", ".cue", ".md", ".sms", ".gg", ".zip"}
os.makedirs(OUTPUT, exist_ok=True)
def count_folders(p):
return sum(1 for x in Path(p).iterdir() if x.is_dir() and not x.name.startswith("."))
def count_files(p):
c, s = 0, 0
for r, d, f in os.walk(p):
for x in f:
if Path(x).suffix.lower() in EXTS:
c += 1
try: s += os.path.getsize(Path(r)/x)
except: pass
return c, s
org = Path(ROOT) / "Rom Sets (Organized)"
data = {"date": datetime.now().isoformat(), "consoles": {}}
total = 0
size = 0
for mfr in org.iterdir():
if mfr.is_dir():
print(mfr.name)
for con in mfr.iterdir():
if con.is_dir():
if any(d in con.name for d in DISC):
n = count_folders(con)
data["consoles"][con.name] = {"type": "disc", "count": n}
else:
n, s = count_files(con)
data["consoles"][con.name] = {"type": "cart", "count": n, "size_gb": round(s/1e9, 2)}
size += s
total += n
data["total"] = total
data["size_gb"] = round(size/1e9, 2)
out = Path(OUTPUT) / "rom-inventory.json"
with open(out, "w") as f:
json.dump(data, f, indent=2)
print(f"Done: {total} items, {data['size_gb']} GB")
print(f"Saved: {out}")