liart.py: OPAC-Global protocol probed (direct.exe FindView/FindSize, guest session); SearXNG record-URL fallback works; direct mode blocked on search labels+iddb (admin-only InfoDB) — data/liart-params.json stub for browser read

This commit is contained in:
Dmitry Kokorin 2026-09-22 08:42:06 +03:00
parent 92b9d589a2
commit d01e323e75
3 changed files with 187 additions and 5 deletions

View file

@ -110,9 +110,10 @@ sections/0N-<name>/ # one .md per BOOK (chapter-level list items are merged int
`| RU title | EN original | publisher, year | ISBN |` → `## Homonym warnings` (ЕДИНОЕ название,
legacy-варианты: «Homonym warning (date)», «Homonyms / notes», «Омонимы») → `## Notes` (датированные
append; legacy «Round N» логи сюда). Запрещено: `**EN identity:**` отдельно, `**Dossier status:**`.
- **TODO (later, after 4 sections in order):** `tools/liart.py` — search for opac.liart.ru (РГБИ):
platform «Библика» (api.bibliosearch.ru/bs.min.js), search goes via JS `simpleSearch()`,
endpoint not yet probed; until then — SearXNG `site:opac.liart.ru <author>` only.
- **TODO (later, after 4 sections in order):** `tools/liart.py` — **HALF DONE 2026-09-21:**
OPAC-Global protocol reverse-engineered (direct.exe/FindView, guest session), SearXNG
record-URL fallback works; BLOCKED on search labels + iddb (server InfoDB, admin-only for
GUEST) — needs a one-time browser read (see data/liart-params.json).
- **Author dossiers** (`authors/<lastname>-<firstname>.md`) are the **CANONICAL** home for
identity, shared across ALL sections (same author can appear in 01, 04, …). One dossier per
PERSON, slug `<lastname>-<firstname>` (lowercase, hyphens). Hold: dates, RU name candidates
@ -385,8 +386,19 @@ sections/0N-<name>/ # one .md per BOOK (chapter-level list items are merged int
### 26. book.ivran.ru + opac.liart.ru — small RU library OPACs, curl-able GOST records (2026-09-20)
- `book.ivran.ru/book?id=<N>` — «Книги сотрудников ИВ РАН» DB: full GOST rows (title, editor,
city/year/pages, ISBN). `opac.liart.ru/record/<db>/<hex>` — РГБИ (State Art Library) OPAC.
Find via SearXNG `site:book.ivran.ru` / `site:opac.liart.ru <author>`.
city/year/pages, ISBN). Find via SearXNG `site:book.ivran.ru`.
- **opac.liart.ru (РГБИ) — platform switched to OPAC-Global (DITM-Global)** (2026-09-21, probed):
- `/opacg/` guest session: POST `arg0=GUEST&arg1=GUESTE&TypeAccess=PayAccess` to
`/cgiopac/opacg/opac.exe`; session `9096453`/`GUEST` (hardcoded in JS).
- Search = POST `/cgiopac/opacg/direct.exe` FLAT fields: `_service=opacfindd.FindView`
(or `FindSize`), `query/body="<label> <value>"`, `iddb=<N>`, `userId`, `session`,
`_xsl=_version=2.7.0/1.1.0` — full protocol in `tools/liart.py` docstring.
- **BLOCKER:** valid search labels + iddb come from server InfoDB (admin-only for GUEST;
iddb 1–4 absent, 7+ exist). Record pages `/record/<db>/<hex>` ARE curl-able (GOST in <title>).
SearXNG `site:opac.liart.ru` index is sparse (author queries 0, `site:.../record` 20).
- **Tool: `tools/liart.py`** — default mode = SearXNG record-URL fallback (works today);
`--direct` mode ready, needs `data/liart-params.json` filled from the browser
(Поиск → Базовый → F12: `input id=basic_<label>` / `select id=field_1`). TODO remains.
### 27. maap.pro «Библиотека» — RU article translations of Jungian authors (2026-09-20, user-provided)
- `https://www.maap.pro/biblioteka/stati/` — МОСКОВСКАЯ АССОЦИАЦИЯ АНАЛИТИЧЕСКОЙ ПСИХОЛОГИИ