feat: whitelist more things for structure checks, update statuspage to match
continuous-integration/drone/pr Build is passing

This commit is contained in:
Darragh Elliott committed 2026-04-22 13:17:55 +00:00
1 parent 964b7f206a
commit d1c459f86e
2 files changed
+20 -9

No files matched your search

+13 -3
View File
@@ -68,10 +68,20 @@ def run(source: Path, languages: list[str], processes: int, working_dir: Path) -
and lang_from_filename(path) in languages
}
whitelist = [
"//img[@alt]", # Image alt text
"//track[@srclang]", # Languages, used in some track elements
"//track[@label]", # Language label, used in some track elements
"//a/@href", # we often link to different languages
"//*/@alt", # alt text for a variety of elements
"//a/@title", # link titles can be translated
"//discussion/@href", # Mastodon links can be in different langs
"/html/translator", # the translator
"//input[@name='language']", # Input language types
"//label[@for='address']", # some input labels that need translating
"//label[@for='email']",
"//label[@for='name']",
"//label[@for='phone']",
"//label[@for='zip']",
"//source/@src", # videos can have different links
"//track/@label", # Language label, used in some track elements
"//track/@srclang", # Languages, used in some track elements
]
groups: defaultdict[Path, list[Path]] = defaultdict(list)
for file in all_files:
@@ -45,17 +45,18 @@ def _job(master: Path, other: Path, whitelist: set[str]) -> str | None:
def check(files: list[Path], pool: multiprocessing.pool.Pool) -> tuple[bool, str]:
"""Check for xml structure differences."""
whitelist = {
"//a/@href", # we often link to different languages
"//*/@alt", # alt text for a variety of elements
"//a/@title", # link titles can be translated
"//discussion/@href", # Mastodon links can be in different langs
"/html/translator", # the translator
"//image/@alt", # Image alt text for title image
"//img/@alt", # Image alt text
"//input[@name='language']", # Input language types
"//label[@for='address']",
"//label[@for='address']", # some input labels that need translating
"//label[@for='email']",
"//label[@for='name']", # city and many others
"//label[@for='name']",
"//label[@for='phone']",
"//label[@for='zip']", # zip code localisation
"//profileimage/@alt", # Profilemage alt text for about/people images
"//label[@for='zip']",
"//source/@src", # videos can have different links
"//track/@label", # Language label, used in some track elements
"//track/@srclang", # Languages, used in some track elements
}