1. Домой
  2. Документы
  3. Releases
  4. Smarty
  5. 09-23 | 1.96 Типы устройств, постеры EPG, кинотеатры

09-23 | 1.96 Типы устройств, постеры EPG, кинотеатры

Разные типы устройств на основании моделей и брендов

Зачастую есть потребность разделять типы устройств по моделям для того, чтобы по-разному конфигурировать вещание и сервис в целом для разных моделей устройств. Всё это время данный функционал работал по алгоритму, описанному тут.

В этом релизе мы добавили более удобный и гибкий механизм разделения устройств на разные типы по моделям, брендам, юзер-агентам и даже идентификаторам.

EPG

Новые интерфейсы Sibseti и Redmax требуют наличия превью-изображений передач в формате 16:9 вместо привычных 4:3, поэтому механизмы импорта графики для провайдера EpgService были обновлены:

  • добавлена новая опция TVMW_EPG_DEFAULT_ASPECT_RATIO, с помощью которой можно выбрать соотношение для главного превью-постера — 4:3, 2:3 и 16:9.
  • в скрипте импорта программы передач изменён механизм выбора главного постера среди тех, что предоставляет EpgService — теперь предпочтение отдаётся официальным постерам с текстовым названием контента, если они присутствуют в XML.
  • поправлены ошибки при работе скрипта с параметрами --force_reimport и --fix_duplicates.

С полной документацией по работе импорта EPG можно ознакомиться тут.

Видеотека

Проведён рефакторинг скриптов импорта фильмов из внешних кинотеатров для корректности заполнения поля updated_at у фильмов, а также добавлено обновление главных постеров сериалов при выходе нового сезона.

Premier

  • Проведена оптимизация команды импорта фильмов из кинотеатра Premier, а также добавлен новый параметр --remove_outdated для удаления устаревших фильмов.
  • Добавлен парсинг актёрского состава для фильмов.

START

  • Добавлен механизм передачи идентификаторов тарифов со START в метод TVMW API VideoDetail, что позволяет подключать подписку START с помощью подключения тарифов со страницы фильма.
  • В названия автоматических подборок фильмов из START теперь не подставляется подстрока «(START)»
  • В админке на странице Абонента подправлена работа функционала проверки подписки на стороне START (требуется для дебага проблем при подключении подписки).

Megogo

  • В интеграцию с Megogo добавлена поддержка создания режиссёров и поддержка Python3.

Kinopoisk API

  • Исправлена ошибка в работе импорта меты о фильмах с помощью Kinopoisk Unofficial API.

Реклама

В этом релизе доработали форму создания рекламного блока — добавили возможность задать ему название в информационных целях, а также починили неприятный баг, из-за которого реклама на устройствах запрашивалась даже в том случае, если рекламный блок отключен.

Помимо этого теперь модуль работы с рекламой не требует настроенной и установленной MongoDB, что облегчает его использование и сокращает количество точек отказа механизма. Обновленная документация тут.

Подписочная модель биллинга

  • Актуализировали скрипт migrate_to_nb для перехода на подписочную модель биллинга.
  • Добавили независимость в работе подписок — у каждой подписки теперь своя собственная дата продления.
  • Добавили новый режим работы подписочной модели, при котором аккаунты всегда активны, а команда check_accounts отвечает только за продление и закрытие подписок.
  • Добавили возможность игнорирования логики базовости для подписок.

Регулярные команды

  • В команду cache_channel_list добавлен новый параметр content_type, для возможности запускать отдельно кеширование данных камер и каналов.
  • Добавлена новая команда create_channel_selection_by_popularity для автоматического создания подборки «Популярные каналы».

Content API

  • В методы EpisodeCreate и EpisodeModify добавлена возможность загружать превью-изображения серий с помощью параметра preview_url.

Billing API

  • В ответ метода CustomerList для каждого абонента добавлен параметр mobile_phone_number, а также в этот же метод добавлен входной параметр mobile_phone_number для возможности искать абонентов по номеру телефона.
  • Добавлены методы AccountTariffAssign и AccountTariffRemove для подключения и отключения тарифов аккаунтам.
  • Добавили поддержку интеграций с внешними кинотеатрами для подписочной модели биллинга.

Подробнее о подписочной логике биллинга можно почитать тут.

TV-Middleware API

  • Добавлены входные параметры compact и limit в методы NoAuthSelectionDetail и SelectionDetail для возможности запрашивать содержимое подборок в оптимизированном варианте.
  • Теперь в методе ProgramCategoryRecordList для подборок с более чем 1 записью возвращается description первой передачи из подборки, а также подправлена отдача параметра position.
  • Добавлены методы AccountTariffsList, AccountTariffSubscribe, AccountTariffUnsubscribe для управления тарифов аккаунтов.
  • В ответ методов CameraList и SelectionDetail для камер добавлено поле preview_url.
  • Для метода VideoList и VideoListNoAuth добавлено новое возможное значение для параметра orderid.
  • В ответ метода PortalDashboardVideoList добавлены поля is_season, is_favorited и thumbnail_big.
  • Добавлены методы для отображения устройств аккаунта и их отвязки: CustomerDeviceList и CustomerDeviceDelete.
  • В ответ метода VideoDetail в массив actions теперь приходит новое поле episode_id.
  • Проведена оптимизация метода ProgramListSearch.
  • В метод VideoList добавлен новый параметр history_only.

Админка

  • Массовую рассылку сообщений абонентам теперь можно осуществлять по списку мас-адресов из загруженного файла:
  • Добавлено отдельное право на редактирование подборок для пользователей админки.
  • Для ленты дашборда «Главное меню» появился пункт «Радиостанции».
  • В формах создания и фильтрации скорректирован список устройств.

Другое

  • Доработали логирование некоторых событий: оплат сохраненной картой и ошибок при оплате в целом
  • Исправили ошибку совместимости Python в работе интеграции с Astra.
  • Исправлено отображение информации о потоках Spectr.
  • Исправлено неверное отображение статуса записи PVR в случае ошибки.
  • Для объектов камер добавлено поле «Идентификатор во внешней системе».