import argparse import urllib.request import os import stat from pathlib import Path REPO = "https://github.com/encounter/decomp-toolkit" def main(): parser = argparse.ArgumentParser() parser.add_argument("tag_file", help="file containing GitHub tag") parser.add_argument("output", type=Path, help="output file path") args = parser.parse_args() with open(args.tag_file, "r") as f: tag = f.readline().rstrip() uname = os.uname() suffix = "" platform = uname.sysname.lower() if platform == "darwin": platform = "macos" elif platform == "windows": suffix = ".exe" arch = uname.machine.lower() if arch == "amd64": arch = "x86_64" url = f"{REPO}/releases/download/{tag}/dtk-{platform}-{arch}{suffix}" output = args.output # print(f"Downloading {url} to {output}") urllib.request.urlretrieve(url, output) st = os.stat(output) os.chmod(output, st.st_mode | stat.S_IEXEC) if __name__ == "__main__": main()