From d01e323e754b3e78407784d962dabc055062c33b Mon Sep 17 00:00:00 2001 From: Dmitry Kokorin Date: Tue, 22 Sep 2026 08:42:06 +0300 Subject: [PATCH 1/7] =?UTF-8?q?liart.py:=20OPAC-Global=20protocol=20probed?= =?UTF-8?q?=20(direct.exe=20FindView/FindSize,=20guest=20session);=20SearX?= =?UTF-8?q?NG=20record-URL=20fallback=20works;=20direct=20mode=20blocked?= =?UTF-8?q?=20on=20search=20labels+iddb=20(admin-only=20InfoDB)=20?= =?UTF-8?q?=E2=80=94=20data/liart-params.json=20stub=20for=20browser=20rea?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 22 ++++-- data/liart-params.json | 6 ++ tools/liart.py | 164 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 187 insertions(+), 5 deletions(-) create mode 100644 data/liart-params.json create mode 100644 tools/liart.py diff --git a/AGENTS.md b/AGENTS.md index 3e3a794..3ce846a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -110,9 +110,10 @@ sections/0N-/ # 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 ` 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/-.md`) are the **CANONICAL** home for identity, shared across ALL sections (same author can appear in 01, 04, …). One dossier per PERSON, slug `-` (lowercase, hyphens). Hold: dates, RU name candidates @@ -385,8 +386,19 @@ sections/0N-/ # 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=` — «Книги сотрудников ИВ РАН» DB: full GOST rows (title, editor, - city/year/pages, ISBN). `opac.liart.ru/record//` — РГБИ (State Art Library) OPAC. - Find via SearXNG `site:book.ivran.ru` / `site:opac.liart.ru `. + 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="