fix(ddg): улучшить fallback для метаданных Alpina - #2
Conversation
Уточнил обработку и выбор результатов DDG для книг Alpina, чтобы бот стабильнее восстанавливал корректные название, автора и другие метаданные в сценариях, где прежний fallback часто возвращал неполные или неточные данные. Коммит собирает исходное улучшение и последующий lint-fix в один логический bugfix, чтобы история ветки отражала единственную пользовательскую проблему: слабое извлечение метаданных Alpina через DDG.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3836cc5d98
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for raw_snippet in snippets: | ||
| snippet = html.unescape(raw_snippet) | ||
| author_match = AUTHOR_LABEL_PATTERN.search(snippet) | ||
| if author_match: | ||
| return _normalize_author( |
There was a problem hiding this comment.
Match snippet author to selected title
The new fallback returns the first Автор ... match from snippets without checking whether that snippet belongs to the title chosen as best, so mixed DuckDuckGo results can produce a valid title paired with the wrong author. This happens whenever multiple snippets contain different authors and no em-dash author is found, because _extract_ddg_book calls this helper globally rather than by result index.
Useful? React with 👍 / 👎.
Что изменилось
Улучшен fallback-поиск метаданных книг Alpina через DuckDuckGo. Бот точнее обрабатывает результаты выдачи и стабильнее извлекает данные книги в сценариях, где раньше возвращались неполные или неточные метаданные.
Зачем это нужно
Ранее часть книг Alpina плохо находилась через текущий DDG fallback:
Из-за этого добавление книги по ISBN или поисковым подсказкам было менее надежным, чем ожидалось.
Что получает пользователь
Технически
Проверка
venv/bin/python -m pytest tests/test_home_library_providers.py -q