Refactor metadata handling in PLib video library manager to improve video matching accuracy. Introduce new properties for tracking when metadata was applied and from which source. Update LibraryService and related components to utilize these properties, ensuring videos without synopses are correctly identified as matched. Enhance UI to display the library's own thumbnail alongside candidate matches, improving user decision-making. Revise README.md to reflect these changes and clarify metadata application processes.

This commit is contained in:
Leonid Pershin
2026-08-10 11:29:58 +03:00
parent 4539a97d16
commit 70611c2051
20 changed files with 1387 additions and 513 deletions
+11 -2
View File
@@ -27,8 +27,8 @@
stash-box. Поиск по отпечатку запускается кнопкой на странице видео; найденное показывается
списком, и применяется тем, что выбрали — название, описание, теги, актёры, студия.
- Вкладка «Метаданные» — тот же поиск сразу по всей библиотеке, с прогрессом, остановкой
и списком найденного. Каждый кандидат показывается со своей обложкой. По желанию
однозначные совпадения применяются на месте.
и списком найденного. Рядом с кандидатами показывается наш собственный кадр, и каждая
картинка подписана, чья она. По желанию однозначные совпадения применяются на месте.
- Светлая, тёмная и системная темы; выбор запоминается.
- Встроенный плеер: клик по карточке открывает страницу медиа прямо в окне — видео,
перемотка, громкость, кнопка «назад». Полноэкранный режим по F11 или кнопке, выход —
@@ -177,6 +177,15 @@ dotnet test
видео, и тысяча одинаковых строк была бы всей страницей.
«Применять однозначные сразу» по умолчанию выключено, а два кандидата не применяются никогда
— расхождение источников это ровно тот случай, ради которого страницу и смотрят.
На странице подписана каждая картинка: наш кадр в акцентной рамке с подписью
«В библиотеке», кандидатский — в обычной, с именем источника. Решение принимается
глазами, и два неподписанных кадра рядом делают его невозможным даже сформулировать.
**Признак «уже размечено» — отдельная отметка, а не наличие описания.** Сначала прогон
пропускал видео с непустым `Description`, и это ломалось на источниках, у которых есть
название, актёры и теги, но нет синопсиса: такие видео возвращались на каждом запуске.
Теперь применение ставит `MetadataAppliedAt` и имя источника, а миграция проставляет
отметку тем, у кого описание уже есть, — иначе первый же запуск после обновления предложил
бы заново всё, что уже было сделано.
- **Картинки скачиваются один раз и по размеру.** `images` в stash-box есть у сцены,
у актёра и у студии; у тега такого поля нет вовсе, поэтому там карточка показывает первую
букву — это норма, а не отсутствие данных. Обложка сцены нужна там, где выбирают из