mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 01:53:35 +01:00
Merges check_icon_dupenames.py and check_icon_conflicts.py (#28587)
* merges check_icon_conflicts and check_icon_dupenames into check_icons.py * oopsies * god damn it
This commit is contained in:
@@ -52,8 +52,7 @@ jobs:
|
||||
python tools/ci/check_map_sizes.py
|
||||
python tools/ci/verify_sql_version.py
|
||||
python tools/ci/no_duplicate_definitions.py
|
||||
python -m tools.ci.check_icon_conflicts
|
||||
python -m tools.ci.check_icon_dupenames
|
||||
python tools/ci/check_icons.py
|
||||
python -m tools.ci.check_legacy_attack_chain
|
||||
python -m tools.maplint.source --github
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
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)
|
||||
@@ -1,40 +0,0 @@
|
||||
from collections import defaultdict
|
||||
import glob
|
||||
import sys
|
||||
import time
|
||||
|
||||
from ..dmi import Dmi
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("check_icon_dupenames 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)
|
||||
states = set()
|
||||
for state in dmi.states:
|
||||
# Movement states have the same name as their non-movement counterparts
|
||||
if (state.name, state.movement) in states:
|
||||
findings[dmi_path].append(state.name)
|
||||
states.add((state.name, state.movement))
|
||||
count += 1
|
||||
|
||||
if findings:
|
||||
exit_code = 1
|
||||
|
||||
for filename in sorted(findings.keys()):
|
||||
states = findings[filename]
|
||||
for state in sorted(states):
|
||||
print(f"{filename}: duplicate state name `{state}`")
|
||||
|
||||
|
||||
end = time.time()
|
||||
print(f"\ncheck_icon_dupenames checked {count} files in {end - start:.2f}s\n")
|
||||
|
||||
sys.exit(exit_code)
|
||||
@@ -0,0 +1,56 @@
|
||||
from glob import glob
|
||||
from time import time
|
||||
from collections import defaultdict
|
||||
|
||||
from avulto import DMI
|
||||
|
||||
def check_duplicate_names(dmi: DMI) -> list[str]:
|
||||
states = set()
|
||||
failures = []
|
||||
for state in dmi.states():
|
||||
# Movement states have the same name as their non-movement counterparts
|
||||
if (state.name, state.movement) in states:
|
||||
duplicates.append(f"duplicate state name `{state.name}`")
|
||||
states.add((state.name, state.movement))
|
||||
return failures
|
||||
|
||||
def check_conflicted(dmi: DMI) -> list[str]:
|
||||
failures = []
|
||||
for state in dmi.state_names():
|
||||
if '!CONFLICT!' in state:
|
||||
failures.append(f"conflicted state {state}")
|
||||
return failures
|
||||
|
||||
ICON_CHECKS = [
|
||||
check_duplicate_names,
|
||||
check_conflicted,
|
||||
]
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("check_icons started")
|
||||
|
||||
count = 0
|
||||
exit_code = 0
|
||||
start = time()
|
||||
|
||||
findings = defaultdict(list)
|
||||
|
||||
for dmi_path in glob("**/*.dmi", recursive=True):
|
||||
dmi = DMI.from_file(dmi_path)
|
||||
for check in ICON_CHECKS:
|
||||
if failures := check(dmi):
|
||||
findings[dmi_path].extend(failures)
|
||||
count += 1
|
||||
|
||||
if findings:
|
||||
exit_code = 1
|
||||
|
||||
for filename in sorted(findings.keys()):
|
||||
failures = findings[filename]
|
||||
for failure in sorted(failures):
|
||||
print(f"{filename}: {failure}")
|
||||
|
||||
end = time()
|
||||
print(f"\ncheck_icons checked {count} files in {end - start:.2f}s")
|
||||
|
||||
exit(exit_code)
|
||||
Reference in New Issue
Block a user