AGENTS/CONTEXT: new sources (cogito person pages, livelib author pages), verified RU editions (Franz, Jaffé/Man&HisSymbols, Lüscher, Kandinsky, Kast, Schaverien)
This commit is contained in:
parent
c2a72010fb
commit
4d76cd55f1
3 changed files with 48 additions and 6 deletions
11
AGENTS.md
11
AGENTS.md
|
|
@ -77,11 +77,20 @@ sections/0N-<name>/ # one .md per BOOK (chapter-level list items are merged int
|
||||||
- en-wiki for the EN bibliography (identity anchor: 3–5 flagship titles).
|
- en-wiki for the EN bibliography (identity anchor: 3–5 flagship titles).
|
||||||
|
|
||||||
### 6. livelib.ru author pages — all RU works of a known author
|
### 6. livelib.ru author pages — all RU works of a known author
|
||||||
- e.g. `livelib.ru/author/<id>-<slug>` lists every RU edition.
|
- e.g. `livelib.ru/author/<id>-<slug>` lists every RU edition (server-rendered, scrapable).
|
||||||
|
- Author ID: find via SearXNG `site:livelib.ru <author>`. The /search page is JS-only (nope).
|
||||||
|
|
||||||
|
### 7. cogito-shop person pages — shop stock per author
|
||||||
|
- `cogito-shop.com/person/<first>_<last>/` (transliterated, first-name first,
|
||||||
|
e.g. `/person/mariya_luiza_fon_frants/`, `/person/yaffe_aniela/`).
|
||||||
|
- Slug discoverable from the shop's search page (results contain person links) or guessable.
|
||||||
|
- Lists every edition the shop carries (title variants!). Product pages lack full
|
||||||
|
metadata in HTML (JS-rendered) — use RSL/livelib for publisher/year/ISBN.
|
||||||
|
|
||||||
### Not usable / low value
|
### Not usable / low value
|
||||||
- libgen biblioservice worldcat/googlebooks/isbndb/udc (broken on this mirror)
|
- libgen biblioservice worldcat/googlebooks/isbndb/udc (broken on this mirror)
|
||||||
- imaton.com (МААП educational publisher, not translations)
|
- imaton.com (МААП educational publisher, not translations)
|
||||||
|
- bookmate.com (403 bot protection), gtmarket.ru (JS app, no HTML content)
|
||||||
- other libgen mirrors (libgen.lol → error page; .vg works with browser UA)
|
- other libgen mirrors (libgen.lol → error page; .vg works with browser UA)
|
||||||
|
|
||||||
## Identity check protocol (MANDATORY before trusting a hit)
|
## Identity check protocol (MANDATORY before trusting a hit)
|
||||||
|
|
|
||||||
27
CONTEXT.md
27
CONTEXT.md
|
|
@ -20,9 +20,30 @@
|
||||||
also «Умирающий пациент в психотерапии. Желания. Сновидения. Индивидуация» (labirint, ISBN 5-89353-170-1).
|
also «Умирающий пациент в психотерапии. Желания. Сновидения. Индивидуация» (labirint, ISBN 5-89353-170-1).
|
||||||
- **Kast, V.** in the reading list = **Verena Kast** («Верена Каст», has RU books, e.g.
|
- **Kast, V.** in the reading list = **Verena Kast** («Верена Каст», has RU books, e.g.
|
||||||
«Я, которое ищет себя» — litres id 73865487). NOT "Werner Kast".
|
«Я, которое ищет себя» — litres id 73865487). NOT "Werner Kast".
|
||||||
- **M.-L. von Franz** has a RU «Собрание сочинений» (cogito-shop: toms 1, 3, 6, 8 seen —
|
- **M.-L. von Franz** RSL name: «Франц, Мария Луиза фон [1915-1998]». RU books (RSL): «Алхимия: введение в символизм и психологию» (Б.С.К. 1997 / Городец 2017), «Толкование волшебных сказок» (ИОИ 2020), «Прорицание и синхрония» (Азбука 2009), «Вечный юноша Puer aeternus» (Класс 2009), «Фемининность в волшебных сказках» (Класс 2010), «Мотив искупления» (Добросвет 2016), «Избавление от колдовства» (Класс 2007), «Феномены Тени и зла» (Класс 2010), «Архетипические паттерны» (Класс 2007), «Кошка» (Класс 2007), «Архетипическое измерение психики» (Касталия 2017).
|
||||||
«Архетипические символы в волшебных сказках», «Видения Николая из Флюэ и святой Перпетуи»,
|
**Number and Time = «Число и время»** — NOT in RSL as standalone, but sold by cogito-shop
|
||||||
«Толкование волшебных сказок… том 8»). Number and Time may be inside it — to verify.
|
(two entries: «Число и время. Рассуждения, направленные на объединение глубинной психологии
|
||||||
|
и физики» and «Число и время», both out of stock). Person page: /person/mariya_luiza_fon_frants/.
|
||||||
|
Also: RU «Собрание сочинений» (cogito: toms 1–3, 6, 8 — «Архетипические символы в волшебных
|
||||||
|
сказках», «Видения Николая из Флюэ и святой Перпетуи», «Толкование волшебных сказок… том 8»).
|
||||||
|
РГБ series record: «Франц, Мария Луиза фон — [Труды], СПб: Б.С.К., 1997-____».
|
||||||
|
- **Jaffé** — RSL surname search pulls many wrong Яффе (Zionist Л.Б. Яффе, painter М.Е. Яффе…);
|
||||||
|
her relevant RU presence = «Человек и его символы» (below). livelib author id 475269.
|
||||||
|
- **Man and his Symbols = «Человек и его символы»** — RSL: Серебряные нити/АСТ 1997 (367с.,
|
||||||
|
ISBN 5-89163-003-6, серия «Классики зарубежной психологии», пер. Сиренко С.Н. и др.),
|
||||||
|
Серебряные нити 2002 (296с., ISBN 5-89613-003-6). Contains Jaffé's visual-arts chapter.
|
||||||
|
- **Lüscher** RSL name: «Люшер, Макс [1923-2017]». RU: «Цветовой тест Люшера» (ЭКСМО-Пресс 2002,
|
||||||
|
Эксмо 2004, АСТ/Сова 2005 — пер. А. Никонова), «Какого цвета ваша жизнь» (Hippo 2003),
|
||||||
|
«Сигналы личности» (МОДЭК 1993), «Анализ конфликтов» (ИМАТОН 2017), «Цвет вашего характера» (РИПОЛ 1997).
|
||||||
|
- **Kandinsky** — «О духовном в искусстве» editions (RSL): БукСМарт 2020 (полное критическое изд.,
|
||||||
|
2 т., ред. Н. Подземская, ISBN 978-5-907043-58-9/…59-6), АСТ 2018/2019/2021, Азбука 2020,
|
||||||
|
Э (Эксмо) 2016/2020, РИПОЛ 2016, Архимед 1992, URSS 2019, Междунар. лит. содружество 1967 (пер. А. Лисовского).
|
||||||
|
- **Verena Kast** RSL name: «Каст, Верена». RU (RSL): «Отцы — дочери. Матери — сыновья» (2016),
|
||||||
|
«Сизиф об удержании и отпускании в середине жизни» (2017), «Горевание фазы и возможности
|
||||||
|
психического процесса» (2017). «Динамика символов» (The Dynamics of Symbols) — NOT in RSL.
|
||||||
|
- **Schaverien** RSL name: «Шаверен, Джой». RU (RSL): «Умирающий пациент в психотерапии:
|
||||||
|
желания. Сновидения. Индивидуация» (Когито-Центр 2006, 316с., ISBN 5-89353-170-1, пер. Ю.М. Донца).
|
||||||
|
«Выявляющий образ» — NOT in RSL (title search 0), but listed on koob.ru as RU book.
|
||||||
|
|
||||||
## Environment / tooling quirks
|
## Environment / tooling quirks
|
||||||
|
|
||||||
|
|
|
||||||
16
tools/rsl.py
16
tools/rsl.py
|
|
@ -19,18 +19,28 @@ def fetch(url, tries=3):
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
q = sys.argv[1]
|
q = sys.argv[1]
|
||||||
maxpages = int(sys.argv[2]) if len(sys.argv) > 2 else 4
|
maxpages = int(sys.argv[2]) if len(sys.argv) > 2 else 2
|
||||||
|
seen = set()
|
||||||
for page in range(1, maxpages + 1):
|
for page in range(1, maxpages + 1):
|
||||||
url = "https://libgen.vg/biblioservice.php?" + urllib.parse.urlencode(
|
url = "https://libgen.vg/biblioservice.php?" + urllib.parse.urlencode(
|
||||||
{"value": q, "type": "rsl", "format": "json", "page": page})
|
{"value": q, "type": "rsl", "format": "json", "page": page})
|
||||||
d = json.loads(fetch(url))
|
try:
|
||||||
|
d = json.loads(fetch(url))
|
||||||
|
except SystemExit:
|
||||||
|
print("(fetch failed)")
|
||||||
|
break
|
||||||
recs = {k: v for k, v in d.items() if k != "error"}
|
recs = {k: v for k, v in d.items() if k != "error"}
|
||||||
if not recs:
|
if not recs:
|
||||||
if page == 1:
|
if page == 1:
|
||||||
print("(no records)")
|
print("(no records)")
|
||||||
break
|
break
|
||||||
|
new = 0
|
||||||
for k in sorted(recs, key=int):
|
for k in sorted(recs, key=int):
|
||||||
r = recs[k]
|
r = recs[k]
|
||||||
|
if r["id"] in seen:
|
||||||
|
continue
|
||||||
|
seen.add(r["id"])
|
||||||
|
new += 1
|
||||||
title = " ".join(r.get("title", [])) + (
|
title = " ".join(r.get("title", [])) + (
|
||||||
(" : " + r["title_add"]) if r.get("title_add") else "")
|
(" : " + r["title_add"]) if r.get("title_add") else "")
|
||||||
author = "; ".join(r.get("author", []))
|
author = "; ".join(r.get("author", []))
|
||||||
|
|
@ -43,6 +53,8 @@ def main():
|
||||||
print(f"[{r['id']}] {title}")
|
print(f"[{r['id']}] {title}")
|
||||||
print(f" {author}")
|
print(f" {author}")
|
||||||
print(f" {city} : {pub}, {year} | {pages} | {isbn}" + (f" | серия: {series}" if series else ""))
|
print(f" {city} : {pub}, {year} | {pages} | {isbn}" + (f" | серия: {series}" if series else ""))
|
||||||
|
if new == 0:
|
||||||
|
break
|
||||||
time.sleep(3)
|
time.sleep(3)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue