#!/usr/bin/env python3 import argparse from pathlib import Path from shared.versioning import generate_version TEMPLATE = """ const char *g_TRXVersion = "TR1X {version}"; """.lstrip() def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser() parser.add_argument("-o", "--output", type=Path) return parser.parse_args() def get_init_c() -> str: return TEMPLATE.format(version=generate_version(1)) def update_init_c(output_path: Path) -> None: new_text = get_init_c() if not output_path.exists() or output_path.read_text() != new_text: output_path.write_text(new_text) def main() -> None: args = parse_args() if args.output: update_init_c(output_path=args.output) else: print(get_init_c(), end="") if __name__ == "__main__": main()