data: version media assets in git
This commit is contained in:
@@ -64,6 +64,8 @@ Fallback строится на собственных лёгких SVG: осмы
|
||||
|
||||
С 12 сентября 2026 года разрешён локальный сбор медиаресурсов; 13 сентября размер одного окна увеличен до 40 assets на домен. `python -m rf4_research.media_cli URL` делает один учтённый HTML-запрос и добавляет кандидатов в `data/media/manifest.json`; `--download-one` сохраняет один asset, а `--download-batch --batch-limit 40` — до 40 на домен под одной резервацией окна. Следующий batch домена возможен через 30 минут. При 401/403/429 или сетевой ошибке домен останавливается сразу, при трёх последовательных invalid/missing — досрочно; каждый результат сохраняется в manifest. Перед записью проверяются raster-формат, совпадение MIME и предел 40 Мп. Статус `queued` или `stored` не означает соответствие сущности или разрешение на публичный вывод. Ручная команда с `--review-url`, `--decision`, `--entity-type` и `--entity-key` переводит сохранённый файл в `approved`; неподходящий материал явно получает `rejected`.
|
||||
|
||||
Скачанные исследовательские оригиналы из `data/media/files/` хранятся в Git вместе с manifest. Каждый путь должен быть представлен ровно одной записью с source URL, source page и SHA-256; `--audit` проверяет отсутствие пропавших, повреждённых и бесхозных файлов. Git-хранение обеспечивает воспроизводимость набора, но не меняет публикационный статус: на сайт разрешено выводить только вручную проверенные `approved`-ассеты. Пользовательские загрузки остаются отдельным контуром MinIO/S3.
|
||||
|
||||
`python -m rf4_research.media_cli --audit` не использует сеть: команда выводит сводку статусов и завершается с ошибкой при отсутствующем/изменённом файле, несовпадении SHA-256 или dimensions/MIME, некорректном approved-сопоставлении и наличии бесхозного файла.
|
||||
|
||||
`python -m rf4_research.media_cli --queue-plan` также не использует сеть. Он читает manifest и общий cooldown-state, группирует queued-ассеты по фактическому домену, показывает готовность и оставшееся время, состав очереди по типам и один следующий кандидат с приоритетом waterbody → fish → tackle → reference. Команда намеренно сообщает, что точные catalog gaps неизвестны, пока baseline содержит только количества без канонических имён.
|
||||
|
||||
Reference in New Issue
Block a user