()
| 421 | |
| 422 | |
| 423 | def main(): |
| 424 | if not SCHEMA.exists(): |
| 425 | print( |
| 426 | "[sdk] %s not found; run --dump-api-schema first" % SCHEMA, file=sys.stderr |
| 427 | ) |
| 428 | return 1 |
| 429 | |
| 430 | commands = json.loads(SCHEMA.read_text(encoding="utf-8")) |
| 431 | commands = drop_namespace_collisions(commands) |
| 432 | commands.sort(key=lambda c: c["name"]) |
| 433 | |
| 434 | OUT_DIR.mkdir(parents=True, exist_ok=True) |
| 435 | OUT_JS.write_bytes(emit_js(commands).encode("utf-8")) |
| 436 | OUT_LUA.write_bytes(emit_lua(commands).encode("utf-8")) |
| 437 | |
| 438 | symbols = collect_symbols(commands) |
| 439 | OUT_SYMBOLS.write_bytes((json.dumps(symbols, indent=2) + "\n").encode("utf-8")) |
| 440 | |
| 441 | print( |
| 442 | "[sdk] wrote %s, %s, %s (%d commands, %d symbols)" |
| 443 | % (OUT_JS.name, OUT_LUA.name, OUT_SYMBOLS.name, len(commands), len(symbols)), |
| 444 | file=sys.stderr, |
| 445 | ) |
| 446 | return 0 |
| 447 | |
| 448 | |
| 449 | if __name__ == "__main__": |
no test coverage detected