Files
sublime-music/cicd/custom_style_check.py
2020-05-08 11:30:23 -06:00

33 lines
727 B
Python
Executable File

#! /usr/bin/env python
import re
import sys
from pathlib import Path
from termcolor import cprint
todo_re = re.compile(r"#\s*TODO:?\s*")
accounted_for_todo = re.compile(r"#\s*TODO:?\s*\((#\d+)\)")
def check_file(path: Path) -> bool:
print(f"Checking {path.absolute()}...") # noqa: T001
file = path.open()
valid = True
for i, line in enumerate(file, start=1):
if todo_re.search(line) and not accounted_for_todo.search(line):
cprint(f"{i}: {line}", "red", end="", attrs=["bold"])
valid = False
file.close()
return valid
valid = True
for path in Path("sublime").glob("**/*.py"):
valid &= check_file(path)
print() # noqa: T001
sys.exit(0 if valid else 1)