Files
Paradise/tools/ci/check_icon_conflicts.py
warriorstar-orion 0ac224db0e add CI check for DMI conflict markers (#22494)
* add CI check for DMI conflict markers

* helps to do the thing
2023-09-20 12:46:43 +01:00

38 lines
869 B
Python

from collections import defaultdict
import glob
import sys
import time
from ..dmi import Dmi
if __name__ == "__main__":
print("check_icon_conflicts started")
count = 0
exit_code = 0
start = time.time()
findings = defaultdict(list)
for dmi_path in glob.glob("**/*.dmi", recursive=True):
dmi = Dmi.from_file(dmi_path)
for state in dmi.states:
if '!CONFLICT!' in state.name:
findings[dmi_path].append(state.name)
count += 1
if findings:
exit_code = 1
for filename in sorted(findings.keys()):
states = findings[filename]
for state in sorted(states):
print(f"{filename}: conflicted state {state}")
end = time.time()
print(f"\ncheck_icon_conflicts checked {count} files in {end - start:.2f}s\n")
sys.exit(exit_code)