|
1 | 1 | #!/usr/bin/env python |
| 2 | +# /// script |
| 3 | +# dependencies = ["mddj==0.6.0", "packaging"] |
| 4 | +# /// |
2 | 5 | import re |
3 | 6 | import sys |
4 | 7 |
|
| 8 | +import mddj.api |
| 9 | +from packaging.version import Version |
5 | 10 |
|
6 | | -def get_old_version(): |
7 | | - with open("pyproject.toml") as fp: |
8 | | - content = fp.read() |
9 | | - match = re.search(r'^version = "(\d+\.\d+\.\d+)"$', content, flags=re.MULTILINE) |
10 | | - assert match |
11 | | - return match.group(1) |
| 11 | +DJ = mddj.api.DJ() |
12 | 12 |
|
13 | 13 |
|
14 | 14 | def replace_version(filename, formatstr, old_version, new_version): |
@@ -48,26 +48,16 @@ def update_changelog(new_version): |
48 | 48 | fp.write(content) |
49 | 49 |
|
50 | 50 |
|
51 | | -def parse_version(s): |
52 | | - vals = s.split(".") |
53 | | - assert len(vals) == 3 |
54 | | - return tuple(int(x) for x in vals) |
55 | | - |
56 | | - |
57 | | -def comparse_versions(old_version, new_version): |
58 | | - assert parse_version(new_version) > parse_version(old_version) |
59 | | - |
60 | | - |
61 | 51 | def main(): |
62 | 52 | if len(sys.argv) != 2: |
63 | 53 | sys.exit(2) |
64 | 54 |
|
65 | 55 | new_version = sys.argv[1] |
66 | | - old_version = get_old_version() |
| 56 | + old_version = DJ.read.version() |
67 | 57 | print(f"old = {old_version}, new = {new_version}") |
68 | | - comparse_versions(old_version, new_version) |
| 58 | + assert Version(new_version) > Version(old_version) |
69 | 59 |
|
70 | | - replace_version("pyproject.toml", 'version = "{}"', old_version, new_version) |
| 60 | + DJ.write.version(new_version) |
71 | 61 | replace_version("README.md", "rev: {}", old_version, new_version) |
72 | 62 | replace_version("docs/precommit_usage.rst", "rev: {}", old_version, new_version) |
73 | 63 | replace_version("docs/optional_parsers.rst", "rev: {}", old_version, new_version) |
|
0 commit comments