aiohttp
1#!/usr/bin/env python
2
3# Run me after the backport branch release to cleanup CHANGES records
4# that was backported and published.
5
6import re7import subprocess8from pathlib import Path9
10ALLOWED_SUFFIXES = (11"bugfix",12"feature",13"deprecation",14"breaking",15"doc",16"packaging",17"contrib",18"misc",19)
20PATTERN = re.compile(21r"(\d+|[0-9a-f]{8}|[0-9a-f]{7}|[0-9a-f]{40})\.("22+ "|".join(ALLOWED_SUFFIXES)23+ r")(\.\d+)?(\.rst)?",24)
25
26
27def main():28root = Path(__file__).parent.parent29delete = []30changes = (root / "CHANGES.rst").read_text()31for fname in (root / "CHANGES").iterdir():32match = PATTERN.match(fname.name)33if match is not None:34commit_issue_or_pr = match.group(1)35tst_issue_or_pr = f":issue:`{commit_issue_or_pr}`"36tst_commit = f":commit:`{commit_issue_or_pr}`"37if tst_issue_or_pr in changes or tst_commit in changes:38subprocess.run(["git", "rm", fname])39delete.append(fname.name)40print("Deleted CHANGES records:", " ".join(delete))41print("Please verify and commit")42
43
44if __name__ == "__main__":45main()46