2026-10-28 23:58:32 -04:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
"""Rough brace/paren balance sanity check for edited C++ files."""
|
|
|
|
|
import os
|
|
|
|
|
import re
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
os.chdir(os.path.join(os.path.dirname(os.path.abspath(__file__)),
|
|
|
|
|
"..", "terminal", "kiosk-shell"))
|
|
|
|
|
|
|
|
|
|
FILES = [
|
2026-10-29 05:37:38 -04:00
|
|
|
"src/desktop_settings_dialog.h",
|
|
|
|
|
"src/desktop_settings_dialog.cpp",
|
|
|
|
|
"src/desktop_store.h",
|
|
|
|
|
"src/desktop_store.cpp",
|
2026-10-28 23:58:32 -04:00
|
|
|
"src/main_window.cpp",
|
|
|
|
|
"src/main_window.h",
|
|
|
|
|
"src/desktop_list_page.cpp",
|
|
|
|
|
"src/desktop_list_page.h",
|
|
|
|
|
"src/desktop_service.cpp",
|
|
|
|
|
"src/desktop_service.h",
|
|
|
|
|
"src/desktop_session.h",
|
|
|
|
|
"src/moonlight_session.cpp",
|
|
|
|
|
"src/moonlight_session.h",
|
2026-10-29 05:37:38 -04:00
|
|
|
"src/transition_overlay.h",
|
|
|
|
|
"src/transition_overlay.cpp",
|
2026-10-28 23:58:32 -04:00
|
|
|
"src/login_page.cpp",
|
|
|
|
|
"src/login_page.h",
|
|
|
|
|
"src/state_machine.cpp",
|
|
|
|
|
"src/state_machine.h",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
fail = False
|
|
|
|
|
for f in FILES:
|
|
|
|
|
src = open(f, encoding="utf-8").read()
|
|
|
|
|
src2 = re.sub(r"//[^\n]*", "", src)
|
|
|
|
|
src2 = re.sub(r'"(?:\\.|[^"\\])*"', '""', src2)
|
|
|
|
|
src2 = re.sub(r"'(?:\\.|[^'\\])*'", "''", src2)
|
|
|
|
|
counts = {c: src2.count(c) for c in "{}()"}
|
|
|
|
|
ok = counts["{"] == counts["}"] and counts["("] == counts[")"]
|
|
|
|
|
print(f, counts, "OK" if ok else "MISMATCH")
|
|
|
|
|
if not ok:
|
|
|
|
|
fail = True
|
|
|
|
|
|
|
|
|
|
sys.exit(1 if fail else 0)
|