counters: is_en/is_ru понимают legacy-суффиксы (-en.<ext>, -ru.<ext>, -ru.b.<ext>) — 30 файлов по всем секциям больше не падают в 'other'; totals-строки всех 12 MANIFEST пересчитаны по диску (sec01 47/71/0, sec03 52/103/0, sec04 EN+1, sec05 +0.1MB, sec02 +0.4MB — ручные цифры были неточны); rootlist==MANIFEST==disk по всем 12 секциям; legacy-имена задокументированы в CONTEXT.md как долг (не ренейм, FINAL-секции)

This commit is contained in:
Dmitry Kokorin 2026-10-01 10:04:36 +03:00
parent 5974ebb87d
commit 33979959fa
15 changed files with 51 additions and 33 deletions

View file

@ -9,6 +9,12 @@ sections/NN/NN-*.md cards (RU title). Regenerable, no manual edits.
"""
import os, re, sys, datetime
def is_en(f):
return "-en-" in f or re.search(r"-en(\.b)?\.\w{2,4}$", f) is not None
def is_ru(f):
return "-ru-" in f or re.search(r"-ru(\.b)?\.\w{2,4}$", f) is not None
BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DL_DIR = {"09-comparison-of-psychodynamic-concepts": "09-comparison",
"10-psychopathology-psychiatry": "10-psychopathology"}
@ -208,8 +214,8 @@ def main():
n = int(sec[:2])
dfiles = [f for f in os.listdir(os.path.join(BASE, "downloads", ddir)) if f != "MANIFEST.md"]
dfiles_n = len(dfiles)
f_en = sum(1 for f in dfiles if "-en-" in f)
f_ru = sum(1 for f in dfiles if "-ru-" in f)
f_en = sum(1 for f in dfiles if is_en(f))
f_ru = sum(1 for f in dfiles if is_ru(f))
f_other = dfiles_n - f_en - f_ru
stat = {e: 0 for e in "✅🔶❌"}
new_items = [it for it in items.values() if not it.get("is_xref")]
@ -220,8 +226,8 @@ def main():
if it.get("is_xref"):
continue
fns = [f[0] for f in mf.get(num, {"files": []}).get("files", [])]
if any("-en-" in f for f in fns): en_dl += 1
if any("-ru-" in f for f in fns): ru_dl += 1
if any(is_en(f) for f in fns): en_dl += 1
if any(is_ru(f) for f in fns): ru_dl += 1
xref_n = len(items) - len(new_items)
comp = " (все NEW)" if xref_n == 0 else f": {len(new_items)} NEW + {xref_n} cross-ref"
ru_found = stat["✅"] + stat["🔶"]