mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-01-27 01:14:46 +00:00
156023b154
This ensures no lines start with an empty line, and all files finish with exactly one "\n".
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
import pathlib, sys
|
|
|
|
problems = False
|
|
|
|
# Skip images and files without extensions
|
|
exclude = [ "*.png", "**/data/json-parsing/*.json" ]
|
|
|
|
for path in pathlib.Path("src").glob("**/*"):
|
|
if path.is_dir() or path.suffix == "" or any(path.match(x) for x in exclude):
|
|
continue
|
|
|
|
with path.open(encoding="utf-8") as file:
|
|
has_dos, has_trailing, first, count = False, False, 0, True
|
|
for i, line in enumerate(file):
|
|
if first:
|
|
first = False
|
|
if line.strip() == "":
|
|
print("%s has empty first line" % path)
|
|
|
|
if len(line) >= 2 and line[-2] == "\r" and line[-1] == "\n" and not has_line:
|
|
print("%s has contains '\\r\\n' on line %d" % (path, i + 1))
|
|
problems = has_dos = True
|
|
|
|
if len(line) >= 2 and line[-2] in " \t" and line[-1] == "\n" and not has_trailing:
|
|
print("%s has trailing whitespace on line %d" % (path, i + 1))
|
|
problems = has_trailing = True
|
|
|
|
if len(line) == 0 or line[-1] != "\n":
|
|
count = 0
|
|
elif line.strip() == "":
|
|
count += 1
|
|
else:
|
|
count = 1
|
|
|
|
if count != 1:
|
|
print("%s should have 1 trailing lines, but has %d" % (path, count))
|
|
problems = True
|
|
|
|
if problems:
|
|
sys.exit(1)
|