| import argparse | |
| import pathlib | |
| import textwrap | |
| current_dir = (pathlib.Path(__file__).parent / "..").resolve() | |
| TEMPLATE = """# Upcoming Release | |
| ## New Features: | |
| No changes to highlight. | |
| ## Bug Fixes: | |
| No changes to highlight. | |
| ## Other Changes: | |
| No changes to highlight. | |
| ## Breaking Changes: | |
| No changes to highlight. | |
| """ | |
| def format_release_notes(latest_version: str): | |
| upcoming = current_dir / "CHANGELOG.md" | |
| with open(upcoming, "r") as latest: | |
| lines = latest.readlines() | |
| assert "# Upcoming Release" in lines[0] | |
| with open(upcoming, "w") as latest: | |
| if latest_version.startswith("v"): | |
| lines[0] = latest_version.replace("v", "# Version ") + "\n" | |
| else: | |
| lines[0] = "# Version " + latest_version + "\n" | |
| lines = textwrap.dedent(TEMPLATE).splitlines(keepends=True) + lines | |
| latest.writelines(lines) | |
| if __name__ == "__main__": | |
| parser = argparse.ArgumentParser(description="Upload a demo to a space") | |
| parser.add_argument("latest_version", type=str, help="Name of demo to upload") | |
| args = parser.parse_args() | |
| format_release_notes(args.latest_version) | |