From 33979959fa3bcfaebf4b1ff6369904a585b944d3 Mon Sep 17 00:00:00 2001 From: Dmitry Kokorin Date: Thu, 1 Oct 2026 10:04:36 +0300 Subject: [PATCH] =?UTF-8?q?counters:=20is=5Fen/is=5Fru=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BD=D0=B8=D0=BC=D0=B0=D1=8E=D1=82=20legacy-=D1=81=D1=83?= =?UTF-8?q?=D1=84=D1=84=D0=B8=D0=BA=D1=81=D1=8B=20(-en.,=20-ru.,?= =?UTF-8?q?=20-ru.b.)=20=E2=80=94=2030=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BF=D0=BE=20=D0=B2=D1=81=D0=B5=D0=BC=20=D1=81?= =?UTF-8?q?=D0=B5=D0=BA=D1=86=D0=B8=D1=8F=D0=BC=20=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=B5=20=D0=BD=D0=B5=20=D0=BF=D0=B0=D0=B4=D0=B0=D1=8E?= =?UTF-8?q?=D1=82=20=D0=B2=20'other';=20totals-=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B2=D1=81=D0=B5=D1=85=2012=20MANIFEST=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D1=81=D1=87=D0=B8=D1=82=D0=B0=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=BF=D0=BE=20=D0=B4=D0=B8=D1=81=D0=BA=D1=83=20(sec01?= =?UTF-8?q?=2047/71/0,=20sec03=2052/103/0,=20sec04=20EN+1,=20sec05=20+0.1M?= =?UTF-8?q?B,=20sec02=20+0.4MB=20=E2=80=94=20=D1=80=D1=83=D1=87=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D1=86=D0=B8=D1=84=D1=80=D1=8B=20=D0=B1=D1=8B?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BD=D0=B5=D1=82=D0=BE=D1=87=D0=BD=D1=8B);=20r?= =?UTF-8?q?ootlist=3D=3DMANIFEST=3D=3Ddisk=20=D0=BF=D0=BE=20=D0=B2=D1=81?= =?UTF-8?q?=D0=B5=D0=BC=2012=20=D1=81=D0=B5=D0=BA=D1=86=D0=B8=D1=8F=D0=BC;?= =?UTF-8?q?=20legacy-=D0=B8=D0=BC=D0=B5=D0=BD=D0=B0=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D1=8B=20=D0=B2=20CONTEXT.md=20=D0=BA=D0=B0?= =?UTF-8?q?=D0=BA=20=D0=B4=D0=BE=D0=BB=D0=B3=20(=D0=BD=D0=B5=20=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=B9=D0=BC,=20FINAL-=D1=81=D0=B5=D0=BA?= =?UTF-8?q?=D1=86=D0=B8=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTEXT.md | 12 ++++++++ READING-LIST.md | 34 +++++++++++----------- downloads/01-fundamentals/MANIFEST.md | 2 +- downloads/02-dreams/MANIFEST.md | 2 +- downloads/03-myths-fairy-tales/MANIFEST.md | 2 +- downloads/04-pictures/MANIFEST.md | 2 +- downloads/05-ethnology/MANIFEST.md | 2 +- downloads/06-religion/MANIFEST.md | 2 +- downloads/07-complexes/MANIFEST.md | 2 +- downloads/08-developmental/MANIFEST.md | 2 +- downloads/09-comparison/MANIFEST.md | 2 +- downloads/10-psychopathology/MANIFEST.md | 2 +- downloads/11-individuation/MANIFEST.md | 2 +- downloads/12-practical-case/MANIFEST.md | 2 +- tools/make_rootlist.py | 14 ++++++--- 15 files changed, 51 insertions(+), 33 deletions(-) diff --git a/CONTEXT.md b/CONTEXT.md index d8d09f8..2b32c07 100644 --- a/CONTEXT.md +++ b/CONTEXT.md @@ -228,3 +228,15 @@ canonical spelling as the PRIMARY query (variants only as follow-up). - `git diff`/`git show` на `downloads/*/MANIFEST.md` печатает «Binary files differ», хотя контент = чистый UTF-8 без NUL (проверено: `git diff --no-index` на тех же blob = обычный text diff; blob-to-blob `git diff ` = text). - Пре-экзистентно (виден уже в старых коммитах, не наш сессии-баг). - Рабочее решение для просмотра: `git diff --text downloads//MANIFEST.md`. Блобы хранятся нормально (mode 100644, не LFS). + +## Legacy file naming — технический долг (2026-10-01) + +30 файлов не соответствуют конвенции `NN-slug-lang-edition.ext` (используют `-en.` / `-ru.` / `-ru.b.` без дефиса и издания). Счётчики `make_rootlist.py` (is_en/is_ru) оба паттерна понимают, так что counts корректны; RENAME не сделан (FINAL-секции, LFS-churn). Список: +- sec01: 01-cw6-psychological-types-en.pdf, 07-memories-dreams-reflections-en.pdf, 07-memories-dreams-reflections-ru.b.fb2, 13-psychotherapy-inferior-function-ru.b.fb2, 23-origins-history-consciousness-ru.b.fb2, 27-jung-postjungians-ru.doc, 32-cw12-psych-alchemy-en.pdf, 42-freud-unconscious-ru.b.fb2, 49-personality-individuation-en.epub +- sec03: 02-cw13-spirit-mercurius-en.pdf, 09-golden-ass-en.epub, 11-redemption-motifs-en.epub, 16-grail-legend-en.pdf, 23-uses-enchantment-en.epub, 29-gods-greeks-en.pdf, 39-bogi-egiptjan-ru.pdf, 40-iliada-odisseya-ru.pdf, 48-masks-god-v1-primitive-en.epub, 48-masks-god-v2-oriental-en.epub, 48-masks-god-v3-occidental-en.epub, 60-mother-en.pdf, 62-estes-wolves-en.pdf +- sec04: 02-cw15-spirit-in-man-art-and-literature-en.pdf +- sec05: 08-eliade-eternal-return-ru.fb2, 11-eliade-sacred-profane-ru.fb2, 12-eliade-myth-reality-ru.fb2, 20-benedict-patterns-of-culture-en.pdf, 22-czaplicka-aboriginal-siberia-en.pdf +- sec07: 18-krieger-complexes-iaap-en.pdf +- sec08: 19-freud-se-complete-works-en.pdf +- sec12: 29-hanna-vstrechi-s-dushoy-ru.pdf +Легитимные non-EN/RU (не чинить): 23-kerenyi-dionysos-de-1956.pdf (sec06, DE-оригинал, бонус) — единственный «other» во всём репо. diff --git a/READING-LIST.md b/READING-LIST.md index cd872a6..8bdb244 100644 --- a/READING-LIST.md +++ b/READING-LIST.md @@ -10,9 +10,9 @@ 55 книг (все NEW)\ RU-издание: ✅ 38 найдено · 🔶 2 частично · ❌ 15 нет\ -EN-оригинал скачан: 45 из 55\ -RU-перевод скачан: 26 из 40\ -Файлов: 118 (EN 67 / RU 42 / other 9) +EN-оригинал скачан: 49 из 55\ +RU-перевод скачан: 30 из 40\ +Файлов: 118 (EN 71 / RU 47 / other 0) | # | Book | Author | RU edition | Files | |---|------|--------|------------|-------| @@ -144,9 +144,9 @@ RU-перевод скачан: 9 из 28\ 68 книг (все NEW)\ RU-издание: ✅ 40 найдено · 🔶 0 частично · ❌ 28 нет\ -EN-оригинал скачан: 55 из 68\ -RU-перевод скачан: 28 из 40\ -Файлов: 155 (EN 92 / RU 50 / other 13) +EN-оригинал скачан: 58 из 68\ +RU-перевод скачан: 30 из 40\ +Файлов: 155 (EN 103 / RU 52 / other 0) | # | Book | Author | RU edition | Files | |---|------|--------|------------|-------| @@ -225,7 +225,7 @@ RU-перевод скачан: 28 из 40\ RU-издание: ✅ 12 найдено · 🔶 1 частично · ❌ 26 нет\ EN-оригинал скачан: 21 из 39\ RU-перевод скачан: 8 из 13\ -Файлов: 43 (EN 28 / RU 14 / other 1) +Файлов: 43 (EN 29 / RU 14 / other 0) | # | Book | Author | RU edition | Files | |---|------|--------|------------|-------| @@ -273,9 +273,9 @@ RU-перевод скачан: 8 из 13\ 29 книг (все NEW)\ RU-издание: ✅ 17 найдено · 🔶 0 частично · ❌ 12 нет\ -EN-оригинал скачан: 18 из 29\ -RU-перевод скачан: 7 из 17\ -Файлов: 37 (EN 25 / RU 7 / other 5) +EN-оригинал скачан: 19 из 29\ +RU-перевод скачан: 10 из 17\ +Файлов: 37 (EN 27 / RU 10 / other 0) | # | Book | Author | RU edition | Files | |---|------|--------|------------|-------| @@ -313,7 +313,7 @@ RU-перевод скачан: 7 из 17\ 28 книг (все NEW)\ RU-издание: ✅ 19 найдено · 🔶 1 частично · ❌ 8 нет\ -EN-оригинал скачан: 19 из 28\ +EN-оригинал скачан: 20 из 28\ RU-перевод скачан: 12 из 20\ Файлов: 40 (EN 27 / RU 12 / other 1) @@ -352,9 +352,9 @@ RU-перевод скачан: 12 из 20\ 27 книг (все NEW)\ RU-издание: ✅ 4 найдено · 🔶 0 частично · ❌ 23 нет\ -EN-оригинал скачан: 16 из 27\ +EN-оригинал скачан: 17 из 27\ RU-перевод скачан: 1 из 4\ -Файлов: 21 (EN 19 / RU 1 / other 1) +Файлов: 21 (EN 20 / RU 1 / other 0) | # | Book | Author | RU edition | Files | |---|------|--------|------------|-------| @@ -390,9 +390,9 @@ RU-перевод скачан: 1 из 4\ 48 книг: 43 NEW + 5 cross-ref\ RU-издание: ✅ 15 найдено · 🔶 1 частично · ❌ 27 нет\ -EN-оригинал скачан: 30 из 43\ +EN-оригинал скачан: 31 из 43\ RU-перевод скачан: 13 из 16\ -Файлов: 44 (EN 30 / RU 13 / other 1) +Файлов: 44 (EN 31 / RU 13 / other 0) | # | Book | Author | RU edition | Files | |---|------|--------|------------|-------| @@ -580,8 +580,8 @@ RU-перевод скачан: 3 из 7\ 35 книг: 23 NEW + 12 cross-ref\ RU-издание: ✅ 6 найдено · 🔶 1 частично · ❌ 16 нет\ EN-оригинал скачан: 17 из 23\ -RU-перевод скачан: 7 из 7\ -Файлов: 35 (EN 27 / RU 7 / other 1) +RU-перевод скачан: 8 из 7\ +Файлов: 35 (EN 27 / RU 8 / other 0) | # | Book | Author | RU edition | Files | |---|------|--------|------------|-------| diff --git a/downloads/01-fundamentals/MANIFEST.md b/downloads/01-fundamentals/MANIFEST.md index 4747d67..bfe1e79 100644 --- a/downloads/01-fundamentals/MANIFEST.md +++ b/downloads/01-fundamentals/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -118 files, 1576.7 MB — RU 41 / EN 67 / other 10 +118 files, 1576.7 MB — RU 47 / EN 71 / other 0 ## Files (per item) diff --git a/downloads/02-dreams/MANIFEST.md b/downloads/02-dreams/MANIFEST.md index 01b7b42..8824359 100644 --- a/downloads/02-dreams/MANIFEST.md +++ b/downloads/02-dreams/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -60 files, 823.6 MB — RU 18 / EN 42 (sweep 01-06: +1 EN; user files 2026-09-30: +5 EN; user zip 1.zip: +6 EN; user zip 2.zip: +8 EN; EN sweep: +1 EN) +60 files, 824.0 MB — RU 18 / EN 42 / other 0 ## Files (per item) diff --git a/downloads/03-myths-fairy-tales/MANIFEST.md b/downloads/03-myths-fairy-tales/MANIFEST.md index 5d4eaf5..796ee49 100644 --- a/downloads/03-myths-fairy-tales/MANIFEST.md +++ b/downloads/03-myths-fairy-tales/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -155 files, 2094.4 MB — RU 48 / EN 91 / other 16 (user zip 2.zip: +11 EN, вкл. 2 partial/bonus) +155 files, 2094.4 MB — RU 52 / EN 103 / other 0 ## Files (per item) diff --git a/downloads/04-pictures/MANIFEST.md b/downloads/04-pictures/MANIFEST.md index a9988ba..db18229 100644 --- a/downloads/04-pictures/MANIFEST.md +++ b/downloads/04-pictures/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -43 files, 1327.1 MB — RU 14 / EN 28 / other 1 +43 files, 1327.1 MB — RU 14 / EN 29 / other 0 ## Files (per item) diff --git a/downloads/05-ethnology/MANIFEST.md b/downloads/05-ethnology/MANIFEST.md index aec6ec0..0ed8854 100644 --- a/downloads/05-ethnology/MANIFEST.md +++ b/downloads/05-ethnology/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -37 files, 407.9 MB — RU 10 / EN 27 / other 0 (lg 26 + flib 9 + user 2) +37 files, 408.0 MB — RU 10 / EN 27 / other 0 ## Files (per item) diff --git a/downloads/06-religion/MANIFEST.md b/downloads/06-religion/MANIFEST.md index eb865af..a686f15 100644 --- a/downloads/06-religion/MANIFEST.md +++ b/downloads/06-religion/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -40 files, 893.4 MB — RU 12 / EN 27 / other 1 (lg 21 + ia 8 + flib 8 + user 2) +40 files, 893.4 MB — RU 12 / EN 27 / other 1 ## Files (per item) diff --git a/downloads/07-complexes/MANIFEST.md b/downloads/07-complexes/MANIFEST.md index e53adee..4ca90b7 100644 --- a/downloads/07-complexes/MANIFEST.md +++ b/downloads/07-complexes/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -21 files, 89.5 MB — RU 1 / EN 20 / other 0 (lg 15 + ia 2 + flib 0) +21 files, 89.5 MB — RU 1 / EN 20 / other 0 ## Files (per item) diff --git a/downloads/08-developmental/MANIFEST.md b/downloads/08-developmental/MANIFEST.md index 3dc5689..4a026a5 100644 --- a/downloads/08-developmental/MANIFEST.md +++ b/downloads/08-developmental/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -44 files, 332.5 MB — RU 13 / EN 31 / other 0 (lg 35 + ia 2 + flib 7) +44 files, 332.5 MB — RU 13 / EN 31 / other 0 ## Files (per item) diff --git a/downloads/09-comparison/MANIFEST.md b/downloads/09-comparison/MANIFEST.md index 342815d..49b341c 100644 --- a/downloads/09-comparison/MANIFEST.md +++ b/downloads/09-comparison/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -43 files, 365.3 MB — RU 16 / EN 27 / other 0 (lg 39 + ia 0 + flib 2) +43 files, 365.3 MB — RU 16 / EN 27 / other 0 ## Files (per item) diff --git a/downloads/10-psychopathology/MANIFEST.md b/downloads/10-psychopathology/MANIFEST.md index 2b70ff9..5c3f5ce 100644 --- a/downloads/10-psychopathology/MANIFEST.md +++ b/downloads/10-psychopathology/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -30 files, 267.8 MB — RU 6 / EN 24 / other 0 (lg 28 + ia 1 + flib 1) +30 files, 267.8 MB — RU 6 / EN 24 / other 0 ## Files (per item) diff --git a/downloads/11-individuation/MANIFEST.md b/downloads/11-individuation/MANIFEST.md index 96a3f6f..322c195 100644 --- a/downloads/11-individuation/MANIFEST.md +++ b/downloads/11-individuation/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -10 files, 127.5 MB — RU 4 / EN 6 / other 0 (lg 7 + ia 1 + flib 2) +10 files, 127.5 MB — RU 4 / EN 6 / other 0 ## Files (per item) diff --git a/downloads/12-practical-case/MANIFEST.md b/downloads/12-practical-case/MANIFEST.md index 710a75c..0f38978 100644 --- a/downloads/12-practical-case/MANIFEST.md +++ b/downloads/12-practical-case/MANIFEST.md @@ -2,7 +2,7 @@ ## Totals -35 files, 183.7 MB — RU 8 / EN 27 / other 0 (lg 29 + ia 1 + flib 3) +35 files, 183.7 MB — RU 8 / EN 27 / other 0 ## Files (per item) diff --git a/tools/make_rootlist.py b/tools/make_rootlist.py index c54dcd3..a50b557 100644 --- a/tools/make_rootlist.py +++ b/tools/make_rootlist.py @@ -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["🔶"]