Synk fra arbeidsrepoet
This commit is contained in:
+21
-3
@@ -536,14 +536,32 @@ def mot_binær(sti: Path) -> None:
|
||||
data = sti.read_bytes()
|
||||
finnes = {m.group(1).decode()
|
||||
for m in re.finditer(rb"email/([a-z0-9_]+)(?=[A-Z{])", data)}
|
||||
# Partialene har ingen egen tekst; de innebygde malene bruker dem, våre ikke.
|
||||
finnes -= {"email_header", "email_footer", "email_footer_text"}
|
||||
mangler = finnes - set(MALER)
|
||||
mangler = _mangler(finnes)
|
||||
if mangler:
|
||||
raise SystemExit("maler.py: serveren har maler vi ikke har skrevet: "
|
||||
+ ", ".join(sorted(mangler)))
|
||||
|
||||
|
||||
# Partialene har ingen egen tekst; de innebygde malene bruker dem, våre ikke.
|
||||
PARTIALER = {"email_header", "email_footer", "email_footer_text"}
|
||||
|
||||
|
||||
def _mangler(finnes: set[str]) -> set[str]:
|
||||
"""Hvilke av serverens maler vi ikke har skrevet.
|
||||
|
||||
Navnene plukkes ut av en binærfil, så treffene inneholder avkuttede biter -
|
||||
«sm» der det står smtp_test, «we» der det står welcome. Et navn som bare er
|
||||
starten på et annet navn er et slikt fragment, ikke en mal.
|
||||
|
||||
Prisen er at en oppstrøms mal som heter nøyaktig starten på en vi allerede
|
||||
har, ville sluppet gjennom. Det har ikke skjedd, og alternativet - å la
|
||||
fragmentene stoppe hvert eneste bygg - er verre."""
|
||||
kjente = finnes | set(MALER)
|
||||
ekte = {n for n in finnes - PARTIALER
|
||||
if not any(k != n and k.startswith(n) for k in kjente)}
|
||||
return ekte - set(MALER)
|
||||
|
||||
|
||||
def skriv(ut: Path) -> int:
|
||||
n = 0
|
||||
for navn, per_språk in MALER.items():
|
||||
|
||||
Reference in New Issue
Block a user