Enhance grid import/export functionality to support dynamic groups and collections
Updated the grid import/export process to allow for the inclusion of groups and collections directly from the configuration file. This enhancement ensures that missing groups and collections are created during import, improving the flexibility of the grid management system. Adjusted related classes and methods to accommodate these changes, ensuring a cohesive integration. Enhanced documentation and user prompts to clarify the new functionality and its usage.
This commit is contained in:
@@ -1083,14 +1083,30 @@ seed = hash(channelId, date, slotId, occurrenceInDay)
|
||||
«Основная сетка (2)». Режим «снести существующие слоты» работает как пересборка из 6.9. Эфир
|
||||
импорт не двигает: он помечает шаблон изменённым, а хвост пересобирает кнопка применения.
|
||||
|
||||
**Файл приносит группы с собой.** Слот ссылается на группу, а на чужой установке (и на своей, пока
|
||||
библиотека не разобрана) групп нет — поэтому в файле есть разделы `groups` и `collections`, и
|
||||
недостающее импорт заводит сам: группа из шоу по названиям, коллекция как цикл или франшиза, которая
|
||||
потом кладётся в группу целиком. Порядок жёсткий: коллекции → группы → слоты, иначе слоту нечего
|
||||
разрешать. **Шоу импорт не создаёт никогда** — их приносит загрузка медиа, и придуманное моделью
|
||||
название останется замечанием, а не записью в библиотеке. Группа, у которой не нашлось ни одного
|
||||
шоу, всё равно создаётся, но с замечанием: пустая группа — это дыра в эфире, и сказать об этом надо
|
||||
на импорте.
|
||||
|
||||
Существующая по имени группа **не переписывается**: та же группа стоит в слотах других каналов,
|
||||
и молча перекроить её принесённым файлом значит поменять чужой эфир. Экспорт при этом выгружает
|
||||
состав использованных групп именами, чтобы файл был самодостаточным; динамическая группа
|
||||
выгружается снимком вычисленного состава — правило ссылается на жанры и рейтинги этой установки
|
||||
и на чужую переехало бы бессмыслицей.
|
||||
|
||||
**Запрос к ИИ собирается на сервере и никуда не отправляется.** Ключей внешних сервисов проект
|
||||
не хранит, и заводить их ради одной кнопки не нужно: админ вводит референс-каналы («как у 2×2»)
|
||||
и пожелания своими словами, получает готовый текст, копирует его в ту модель, которой пользуется,
|
||||
и приносит ответ назад вкладкой импорта.
|
||||
|
||||
В запрос входят параметры канала, доступные группы с их ёмкостью и средней длиной единицы (те же
|
||||
числа, по которым раскладывает автосборка, — считает их общий `GroupCatalog`), библиотека справкой,
|
||||
имена стыков и заставок, правила раскладки и схема ответа. Схема лежит рядом с форматом
|
||||
числа, по которым раскладывает автосборка, — считает их общий `GroupCatalog`), библиотека поимённо
|
||||
(модель собирает из неё свои группы, поэтому названия нужны дословные), имена стыков и заставок,
|
||||
правила раскладки и схема ответа. Схема лежит рядом с форматом
|
||||
(`GridPromptText` в одной папке с `GridConfig`), а не в шаблоне на фронте: разойдись она с импортом
|
||||
— ответ модели пришлось бы чинить руками.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user