aiosignal

Форк
0
/
check_changes.py 
52 строки · 1.3 Кб
1
#!/usr/bin/env python3
2

3
import sys
4
from pathlib import Path
5

6
ALLOWED_SUFFIXES = [".feature", ".bugfix", ".doc", ".removal", ".misc"]
7

8

9
def get_root(script_path):
10
    folder = script_path.resolve().parent
11
    while not (folder / ".git").exists():
12
        folder = folder.parent
13
        if folder == folder.anchor:
14
            raise RuntimeError("git repo not found")
15
    return folder
16

17

18
def main(argv):
19
    print('Check "CHANGES" folder... ', end="", flush=True)
20
    here = Path(argv[0])
21
    root = get_root(here)
22
    changes = root / "CHANGES"
23
    failed = False
24
    for fname in changes.iterdir():
25
        if fname.name in (".gitignore", ".TEMPLATE.rst", "README.rst"):
26
            continue
27
        if fname.suffix == ".rst":
28
            test_name = Path(fname.stem)
29
        else:
30
            test_name = fname
31
        if test_name.suffix not in ALLOWED_SUFFIXES:
32
            if not failed:
33
                print("")
34
            print(fname, "has illegal suffix", file=sys.stderr)
35
            failed = True
36

37
    if failed:
38
        print("", file=sys.stderr)
39
        print(
40
            "Allowed suffixes are:",
41
            ALLOWED_SUFFIXES + [suff + ".rst" for suff in ALLOWED_SUFFIXES],
42
            file=sys.stderr,
43
        )
44
        print("", file=sys.stderr)
45
    else:
46
        print("OK")
47

48
    return int(failed)
49

50

51
if __name__ == "__main__":
52
    sys.exit(main(sys.argv))
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.