Simplify check_deps()

This commit is contained in:
Dunedan 2024-08-25 13:01:26 +02:00
parent 3f6527c126
commit cdf26dd3dd
Signed by: Dunedan
GPG Key ID: 885B16854284E0B2

View File

@ -8,7 +8,7 @@ from json import load, loads
from logging import INFO, WARNING, Filter, Formatter, StreamHandler, getLogger
from pathlib import Path
from struct import calcsize, unpack
from typing import List, Tuple
from typing import Dict, List, Set, Tuple
from xml.etree import ElementTree as ET
from scriptlib import SimulTemplateEntity, find_files
@ -791,23 +791,21 @@ class CheckRefs:
self.logger.info("Looking for missing files...")
uniq_files = {r.as_posix() for r in self.files}
lower_case_files = {f.lower(): f for f in uniq_files}
reverse_deps = defaultdict(set)
missing_files: Dict[str, Set[str]] = defaultdict(set)
for parent, dep in self.deps:
reverse_deps[dep.as_posix()].add(parent.as_posix())
missing_files = {}
for dep, parents in reverse_deps.items():
if "simulation/templates" in dep and (
dep.replace("templates/", "template/special/filter/") in uniq_files
or dep.replace("templates/", "template/mixins/") in uniq_files
dep_str = dep.as_posix()
if "simulation/templates" in dep_str and (
dep_str.replace("templates/", "template/special/filter/") in uniq_files
or dep_str.replace("templates/", "template/mixins/") in uniq_files
):
continue
if dep in uniq_files:
if dep_str in uniq_files:
continue
missing_files[dep] = parents
missing_files[dep_str].add(parent.as_posix())
for dep, parents in sorted(missing_files.items()):
callers = [str(self.vfs_to_relative_to_mods(ref)) for ref in parents]