aiosignal
1#!/usr/bin/env python3
2
3import sys4from pathlib import Path5
6ALLOWED_SUFFIXES = [".feature", ".bugfix", ".doc", ".removal", ".misc"]7
8
9def get_root(script_path):10folder = script_path.resolve().parent11while not (folder / ".git").exists():12folder = folder.parent13if folder == folder.anchor:14raise RuntimeError("git repo not found")15return folder16
17
18def main(argv):19print('Check "CHANGES" folder... ', end="", flush=True)20here = Path(argv[0])21root = get_root(here)22changes = root / "CHANGES"23failed = False24for fname in changes.iterdir():25if fname.name in (".gitignore", ".TEMPLATE.rst", "README.rst"):26continue27if fname.suffix == ".rst":28test_name = Path(fname.stem)29else:30test_name = fname31if test_name.suffix not in ALLOWED_SUFFIXES:32if not failed:33print("")34print(fname, "has illegal suffix", file=sys.stderr)35failed = True36
37if failed:38print("", file=sys.stderr)39print(40"Allowed suffixes are:",41ALLOWED_SUFFIXES + [suff + ".rst" for suff in ALLOWED_SUFFIXES],42file=sys.stderr,43)44print("", file=sys.stderr)45else:46print("OK")47
48return int(failed)49
50
51if __name__ == "__main__":52sys.exit(main(sys.argv))53