|
|
|
|
|
|
import os |
|
|
|
import sys |
|
|
|
from typing import Dict |
|
|
|
import argparse |
|
|
|
|
|
|
|
VERSION_LINE_START = "__version__ = " |
|
|
|
|
|
|
|
|
|
|
return True |
|
|
|
|
|
|
|
|
|
|
|
def set_version(new_version: str) -> None: |
|
|
|
new_contents = f'{VERSION_LINE_START}"{new_version}"\n' |
|
|
|
for directory in DIRECTORIES: |
|
|
|
path = os.path.join(directory, "__init__.py") |
|
|
|
print(f"Setting {path} to version {new_version}") |
|
|
|
with open(path, "w") as f: |
|
|
|
f.write(new_contents) |
|
|
|
|
|
|
|
|
|
|
|
ok = check_versions() |
|
|
|
return_code = 0 if ok else 1 |
|
|
|
sys.exit(return_code) |
|
|
|
parser = argparse.ArgumentParser() |
|
|
|
parser.add_argument("--new-version", default=None) |
|
|
|
# unused, but allows precommit to pass filenames |
|
|
|
parser.add_argument("files", nargs="*") |
|
|
|
args = parser.parse_args() |
|
|
|
if args.new_version: |
|
|
|
print(f"Updating to verison {args.new_version}") |
|
|
|
set_version(args.new_version) |
|
|
|
else: |
|
|
|
ok = check_versions() |
|
|
|
return_code = 0 if ok else 1 |
|
|
|
sys.exit(return_code) |