Smarty

  1. Домой
  2. Документы
  3. Smarty
  4. Конфигурация и обслуживание Smarty
  5. Системные параметры

Системные параметры

Данные настройки необходимо указывать в файле конфигурации Smarty /etc/microimpuls/smarty/smarty.py либо в вашем кастомном файле конфигурации. Файл имеет синтаксис Python.

Внимание! Для того, чтобы изменения вступили в силу, необходимо перезагрузить uwsgi. Перезагрузка uwsgi осуществляется командой sudo service uwsgi restart

Содержание показать

Общие настройки

DEBUG

включает режим отладки. При возникновении ошибок будут показаны развернутые stacktrace ошибки в браузере. Тип данных: bool. По умолчанию False.

TIME_ZONE

часовой пояс сервера согласно именованию IANA. Тип данных: string. По умолчанию Europe/Moscow.

SECRET_KEY

уникальный секретный ключ инстанса. Используется для безопасного кеширования секретных данных в процессе работы. Не забудьте поменять параметр SECRET_KEY на уникальное значение. Тип данных: string.

BILLING_CLIENTS_EXCLUDE

отключает работу встроенного биллинга (команды check_accounts и make_autopayments) для определённых Client ID. Тип данных: list.

UWSGI_THREADING_ENABLED

включает использование потоков uWSGI вместо нативных при выполнении некоторых фоновых задач, что предотвращает их ошибочное завершение при очистке ресурсов после выполнения запроса к серверу. Рекомендуется использование данного параметра при обнаружении ошибок инвалидации кэша после запросов. Требует включенного параметра enable-threads в конфигурации uWSGI.

Пример настройки:

DEBUG = False
TIME_ZONE = "Europe/Moscow"
SECRET_KEY = "de2kpvtRn19EGXu8r93DB1CDCZTmW5yE194pY7PQiw2kI7z002e1aCapj5HYITiY"
BILLING_CLIENTS_EXCLUDE = [1, 2,]

Список включенных модулей

INSTALLED_APPS

список включенных модулей. Список дополняет базовые модули, прописанные в base.py, через операцию +=. Тип данных: list.

Пример настройки:

INSTALLED_APPS += (
    'viewstats',
    'megogo',
    'tvzavr',
    'device_monitoring',
    'custom'
)

Настройки подключения к БД

DATABASES

в этом массиве настраивается подключение к СУБД. При использовании нескольких СУБД для репликации необходимо отдельно настроить подключение к каждой из них, задав для каждого подключения уникальное имя. Тип данных: dict.

Пример настройки:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'smarty',
        'USER': 'root',
        'PASSWORD': 'jAE427aAyzVA8k8p',
        'HOST': '192.168.77.150',
        'PORT': '',
    }
}

Настройки путей и адресов

SMARTY_URL

полный URL к инстансу Smarty. Используется для генерации полных URL к API и влияет на работу Smarty и модулей на низком уровне. Тип данных: string. По умолчанию http://smarty.example.com.

MEDIA_BASE_URL

полный URL, который используется в ответах API в качестве базового пути к изображениям и статическим ресурсам, например для иконок телеканалов, картинок EPG или обложек фильмов. В базовом варианте может быть равен значению SMARTY_URL. Тип данных: string.

TVMIDDLEWARE_PORTAL_DOMAIN

имя домена, на котором располагается портал для устройств типа STB и Smart TV. Используется только для вспомогательных информационных целей и не влияет на работу приложения. Тип данных: string. По умолчанию example.com.

TVMIDDLEWARE_API_URL

полный URL к TVMW API для использования в портале и приложениях. Используется для генерации полных URL к API и влияет на работу Smarty и модулей на низком уровне. Тип данных: string. По умолчанию http://smarty.example.com/tvmiddleware/api. Для мультидоменной инсталляции можно использовать относительное значение /api.

Пример настройки:

SMARTY_URL = 'http://smarty.example.com:8180'
MEDIA_BASE_URL = 'http://smarty.example.com:8180'
TVMIDDLEWARE_PORTAL_DOMAIN = 'example.com'
TVMIDDLEWARE_API_URL = '/api'

Настройки поведения абонентов и аккаунтов

TVMIDDLEWARE_CUSTOMER_LOG_ENABLED

включает логирование активности абонентов в БД. Тип данных: bool. По умолчанию False.

TVMW_REGISTRATION_DEFAULT_TARIFFS_LOCATION_FILTER

включает фильтрацию подключаемых по умолчанию тарифов по геолокации регистрации. При значении True в момент регистрации нового абонента ему будут подключены тарифы, помеченные как «Подключаемый по умолчанию» и соответствующие его геолокации (поля «Доступен в городах» или «Доступен в странах» в форме тарифа). В обратном случае геолокация при регистрации будет игнорироваться. Тип данных: bool. По умолчанию True.

Пример настройки:

TVMIDDLEWARE_CUSTOMER_LOG_ENABLED = True
TVMW_REGISTRATION_DEFAULT_TARIFFS_LOCATION_FILTER = True

Настройки поведения TV и EPG

TVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_PAST

глубина поиска EPG в прошлое в днях. Используется при запросах на поиск контента. При использовании большого значения поиск будет осуществляться дольше и задействовать больше ресурсов сервера БД и Middleware. Тип данных: int. По умолчанию 1.

TVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_FUTURE

глубина поиска EPG в будущее в днях. Используется при запросах на поиск контента. При использовании большого значения поиск будет осуществляться дольше и задействовать больше ресурсов сервера БД и Middleware. Тип данных: int. По умолчанию 1.

TVMIDDLEWARE_PROGRAM_LIST_SEARCH_LIMIT_RESULTS_TO

максимальное количество результатов, которое будет возвращено сервером на запрос поиска передач (метод API ProgramListSearch). Тип данных: int. По умолчанию 20.

TVMIDDLEWARE_RECOMMENDATIONS_ENABLED

включает категорию «Рекомендуемые» в разделе «ТВ по интересам». Тип данных: bool. По умолчанию False.

TVMW_CONSIDER_PROGRAM_CATEGORY

при значении False в выдаче API-метода ProgramCategoryChannelList («ТВ по интересам») динамическая категория текущей передачи не учитывается и список каналов формируется только исходя из фиксированной категории EpgChannel. Тип данных: bool. По умолчанию True.

TVMW_DISABLE_MULTICAST_SMARTTV

при значении True будут скрыты каналы с мультикаст-адресами для Smart TV. Тип данных: bool. По умолчанию True.

TVMW_DISABLE_MULTICAST_MOBILE

при значении True будут скрыты каналы с мультикаст-адресами для мобильных устройств. Тип данных: bool. По умолчанию True.

TVMIDDLEWARE_CHANNEL_LIST_MAX_ACCOUNTS_PER_MINUTE

скорость выставления флага необходимости обновления списка каналов у аккаунтов, регулирует максимальное количество аккаунтов в минуту, которым выставляется данный флаг (работает только при включенном механизме smarty_rq). Тип данных: int. По умолчанию 1000.

RQ_CHANNEL_LIST_CHANGED_JOB_TIMEOUT

максимальное время работы RQ в процессе выставления флага необходимости обновления списка каналов у аккаунтов. Тип данных: int. По умолчанию 3600.

TVMW_EPG_DO_NOT_IMPORT_UNUSED

позволяет отключить импорт неиспользуемых EPG-каналов и ускорить работу команды epg_import. Тип данных: bool. По умолчанию False.

TVMW_EPG_SAVE_MULTIPLE_CATEGORIES

определяет, сохранять ли все категории передачи, которые описаны в XMLTV, при импорте EPG. При значении False будет сохранена только первая найденная категория. Опция присутствует для обеспечения обратной совместимости со старыми версиями приложений. Тип данных: bool. По умолчанию True.

TVMW_EPG_IMPORT_ALLOW_PARSER_HANDLING

позволяет во время импорта EPG передать управление импортированием парсеру, если включено, то парсер может не загружать EPG при определенных условиях, необходимо отключать, если EPG не грузится по каким-то причинам. По умолчанию True.

TVMW_EPG_OPTIMIZE_DUMMY_SOURCE

включает упрощенный импорт, который не пересоздает существующие программы. По умолчанию False.

TVMW_EPG_DEFAULT_ASPECT_RATIO

указывает стандартное значение соотношения сторон для постеров импортируемых программ. При отсутствии постера с дефолтным соотношением происходит загрузка первого соответствующего постера. Возможные значения: 16:9, 4:3, 2:3. Тип данных: string. По умолчанию 4:3.

TVMW_SELECTION_PREVIEW_ASPECT_RATIO

указывает размер возвращаемых постеров для методов, связанных с подборками. Тип данных: string. По умолчанию None (при None берется значение TVMW_EPG_DEFAULT_ASPECT_RATIO).

TVMW_EPG_PREVIEW_MAX_WIDTH

ограничение длины превью-картинки передачи с разрешением 4×3. Предупреждение: для работы опции необходимо включить конвертацию постеров и иконок каналов в источнике EPG. Изображение сжимается согласно параметрам по следующему условию: если размер какой-либо стороны исходного изображения превышает заданные границы, то изображение сжимается пропорционально заданному условию (например, при наличии исходного изображения 1000×500 и ограничения 500×500 оно сжимается до 500×250). Тип данных: int. По умолчанию 300.

TVMW_EPG_PREVIEW_MAX_HEIGHT

ограничение высоты превью-картинки передачи с разрешением 4×3. Предупреждение: для работы опции необходимо включить конвертацию постеров и иконок каналов в источнике EPG. Изображение сжимается согласно параметрам по следующему условию: если размер какой-либо стороны исходного изображения превышает заданные границы, то изображение сжимается пропорционально заданному условию (например, при наличии исходного изображения 1000×500 и ограничения 500×500 оно сжимается до 500×250). Тип данных: int. По умолчанию 300.

TVMW_EPG_PREVIEW_MAX_WIDTH_16_9

ограничение длины превью-картинки передачи с разрешением 16×9. Предупреждение: для работы опции необходимо включить конвертацию постеров и иконок каналов в источнике EPG. Изображение сжимается согласно параметрам по следующему условию: если размер какой-либо стороны исходного изображения превышает заданные границы, то изображение сжимается пропорционально заданному условию (например, при наличии исходного изображения 1000×500 и ограничения 500×500 оно сжимается до 500×250). Тип данных: int. По умолчанию 300.

TVMW_EPG_PREVIEW_MAX_HEIGHT_16_9

ограничение высоты превью-картинки передачи с разрешением 16×9. Предупреждение: для работы опции необходимо включить конвертацию постеров и иконок каналов в источнике EPG. Изображение сжимается согласно параметрам по следующему условию: если размер какой-либо стороны исходного изображения превышает заданные границы, то изображение сжимается пропорционально заданному условию (например, при наличии исходного изображения 1000×500 и ограничения 500×500 оно сжимается до 500×250). Тип данных: int. По умолчанию 300.

Пример настройки:

TVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_PAST = 1
TVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_FUTURE = 3
TVMIDDLEWARE_PROGRAM_LIST_SEARCH_LIMIT_RESULTS_TO = 20
TVMW_EPG_DO_NOT_IMPORT_UNUSED = True
TVMW_EPG_DEFAULT_ASPECT_RATIO = '2:3'
TVMW_SELECTION_PREVIEW_ASPECT_RATIO = '16:9'
TVMW_EPG_PREVIEW_MAX_WIDTH = 300
TVMW_EPG_PREVIEW_MAX_HEIGHT = 300
TVMW_EPG_PREVIEW_MAX_WIDTH_16_9 = 300
TVMW_EPG_PREVIEW_MAX_HEIGHT_16_9 = 300

Настройки поведения VOD и онлайн-кинотеатров

TVMIDDLEWARE_VIDEO_NEW_DAYS

период в днях с даты добавления фильма, в течение которого добавленный фильм считается новинкой и отображается в соответствующем разделе в приложениях абонента. Тип данных: int. По умолчанию 60.

TVMIDDLEWARE_VIDEO_PREMIERE_DAYS

период в днях с даты премьеры фильма, в течение которого фильм считается премьерой и отображается в соответствующем разделе в приложениях абонента. Тип данных: int. По умолчанию 90.

TVMIDDLEWARE_VIDEO_PREMIERE_YEARS

диапазон лет, в котором добавленные фильмы считаются премьерами и будут возвращаться методом VideoList при добавлении параметра premiere. Диапазон высчитывается по следующей формуле:

[текущий_год - TVMIDDLEWARE_VIDEO_PREMIERE_YEARS; текущий_год]. 

Предупреждение: при значении None будут возвращаться фильмы в зависимости от опции TVMIDDLEWARE_VIDEO_PREMIERE_DAYS. При указании опции TVMIDDLEWARE_VIDEO_PREMIERE_YEARS и TVMIDDLEWARE_VIDEO_PREMIERE_DAYS приоритет отдается первой. Тип данных: int. По умолчанию None.

TVMIDDLEWARE_CONTENT_POSITION_TTL_DAYS_VIDEO

период в днях, в течение которого необходимо хранить на сервере сохраненные позиции просмотра видео для возможности предложить абоненту продолжить просмотр с прошлой позиции. Тип данных: int. По умолчанию 30.

TVMIDDLEWARE_CONTENT_POSITION_TTL_DAYS_PROGRAM

период в днях, в течение которого необходимо хранить на сервере сохраненные позиции просмотра программы для возможности предложить абоненту продолжить просмотр с прошлой позиции. Тип данных: int. По умолчанию 30.

TVMIDDLEWARE_VIDEO_IS_VIEWED_TO_END_THRESHOLD_PERCENTAGE

устанавливает пороговое значение (в процентах) оставшегося времени до конца фильма, по достижении которого фильм считается просмотренным. Механизм определения просмотренности будет работать корректно только в том случае, если у ассетов фильма корректно заполнено поле «Длительность». Тип данных: int. По умолчанию 1.

TVMIDDLEWARE_VIDEO_EXTERNAL_API_REQUIRED

при значении True поля «Внешний ID» и «Обработчик API» в форме создания фильма будут обязательными. Тип данных: bool. По умолчанию False.

EXTERNAL_API_VIDEO_CHECK_BALANCE_REQUEST

при значении True включается оповещение биллинга во время проверки баланса (с помощью вызова метода perform_subscr_action_in_default_video_api_client с action='check_balance'), опция актуальная для операторов с интеграцией внешнего биллинга.

TVMIDDLEWARE_VIDEO_ACTORS_EXTENDED_UPDATE

при загрузке фильмов из стороннего источника будет производиться автоматическая подгрузка дополнительной информации об актёрах. Тип данных: bool. По умолчанию True.

TVMIDDLEWARE_MOVIEDB

выбор базы с фильмами, которая используется для заполнения информации о добавляемых фильмах. Доступные значения: kinopoisk, tmdb, kinopoisk_api_unofficial . Тип данных: string. По умолчанию kinopoisk_api_unofficial.

TVMIDDLEWARE_TMDB_API_KEY

API-ключ для работы с базой themoviedb.org (находится в личном кабинете сайта themoviedb.org в разделе Settings). Тип данных: string.

TVMIDDLEWARE_KINOPOISK_API_UNOFFICIAL_API_KEY

ключ для доступа к API Kinopoisk Api Unofficial https://kinopoiskapiunofficial.tech/.

TVMW_VIDEO_LIST_SEARCH_BY_RELEVANCE

включает поиск по релевантности в поисковых запросах, в котором список фильмов в ответе будет отсортирован по положению поисковой строки: сначала возвращаются фильмы, где набор символов поиска находится на первых позициях. Предупреждение: в поисковой выдаче учитывается символ пробела, если в поисковой строке в конце будет указан пробел, то в ответе будут приходить только те фильмы, в которых одно из слов будет заканчиваться на соответствие поисковой строки (пробел в начале поискового запроса также учитывается). Тип данных: bool. По умолчанию False.

Настройки поведения PVR

TVMIDDLEWARE_VODPVR_TIMEOUT_OFFSET

определяет, за какое количество времени до удаления архивная запись должна пропасть из выдачи для клиентов (в часах). Тип данных: int. По умолчанию 2.

TVMW_DONT_USE_ENDLESS_WRT

при значении True отключается добавление флага endless=1 для приставок WRT в ссылках на видеопотоки. Тип данных: bool. По умолчанию False.

TVMIDDLEWARE_PROGRAM_RECORD_ONLY_FINISHED

при значении True в API-методе для получения списка записей в экране «Архив» не будут передаваться ещё не законченные передачи. Тип данных: bool. По умолчанию False.

Настройки авторизации аккаунтов и устройств

TVMIDDLEWARE_CLEAN_OLD_SESSIONS_DAYS

время жизни сессии авторизации в днях. Если сессия не была в статусе «онлайн» в течение этого периода, то она будет автоматически удалена. Тип данных: int. По умолчанию 3650.

TVMIDDLEWARE_MULTILOGIN_ENABLED

включает или отключает механизм мультилогинов (аккаунт с неограниченными возможностями авторизации) в Smarty. Тип данных: bool. По умолчанию True.

TVMW_USE_DIRECT_AUTHKEY_GENERATOR

при значении True при авторизации будет использоваться генератор типа Direct вместо Secondary для незарегистрированных типов устройств. Тип данных: bool. По умолчанию False.

TVMW_REGISTRATION_SAVE_MOBILE_PHONE

cохраняет номер телефона, использованный при регистрации. Тип данных: bool. По умолчанию True.

RANDOM_NEXT_ABONEMENT

флаг переключения режима генерации абонементов при создании аккаунтов. При установке False номер каждого нового абонемента равен инкременту от максимального значения абонемента среди аккаунтов клиента, при установке True номер абонемента генерируется случайно (шесть знаков). Тип данных: bool. По умолчанию False.

TVMW_REGISTRATION_SUBNETS_FOR_CAPTCHA

устанавливает список подсетей, при регистрации из которых пользователям будет показана капча. Тип данных: array. По умолчанию [‘0.0.0.0/0’].

TVMW_UPDATE_PHONE_NUMBER_ON_REGISTER

при значении True при попытке регистрации аккаунта на устройство, уже зарегистрированное в Smarty, не создаётся новый аккаунт, а к текущему аккаунту устройства дописывается указанный номер телефона. Тип данных: bool. По умолчанию False.

TVMW_USE_PHONE_NUMBER_IN_ABONEMENT

при значении True при регистрации будет генерироваться новый аккаунт с номером, аналогичным номеру телефона самого кастомера (без номера страны, 10 знаков). В обратном случае генерация выполняется стандартным образом. Тип данных: bool. По умолчанию False.
Предупреждение: если в Smarty уже присутствует аккаунт с таким номером, то выполняется генерация номера аккаунта согласно опции RANDOM_NEXT_ABONEMENT.

TVWM_MULTILOGIN_CREATE_DEVICE

при значении True во время авторизации с аккаунта с выставленным мультилогином в Smarty создаётся привязанное устройство. Тип данных: bool. По умолчанию False.

TVMW_REMOVE_DUPLICATE_UID_ON_LOGIN

при значении True при вызове метода Login удаляются дубликаты устройств с одинаковым UID. Тип данных: bool. По умолчанию False.

TVWM_REBIND_DEVICE_ON_LOGIN

при значении True метод авторизации не возвращает ошибку о том, что устройство уже привязано к другому аккаунту, а вместо этого отвязывает устройство от старого аккаунта и привязывает к новому. Тип данных: bool. По умолчанию False.

TVMIDDLEWARE_API_ALLOW_ACCOUNT_REGISTER

при значении False блокируется возможность регистрации новых пользователей через TVMW API. Тип данных: bool. По умолчанию True.

TVMW_UPDATE_IP_IN_REALTIME

при значении True включается обновление IP и геолокации у аккаунта при любых API-запросах. Тип данных: bool. По умолчанию False.

TVMW_CORRECT_IP_LOGIN

при значении True при авторизации по IP будут учитываться сессии с базовых и/или дополнительных устройств. Тип данных: bool. По умолчанию False.

TVMW_LOGIN_REQUEST_MAX_COUNT

устанавливает ограничение на количество попыток логина в определенный период времени. Тип данных: int. По умолчанию 3. Предупреждение: период времени определяется опцией TVMW_LOGIN_REQUEST_COUNTING_PERIOD_MINUTES. При значении 0 проверка отключена.

TVMW_LOGIN_REQUEST_COUNTING_PERIOD_MINUTES

устанавливает период времени (в минутах), в течение которого осуществляется подсчет количества попыток логина. Тип данных: int. По умолчанию 0. Предупреждение: при значении 0 проверка отключена.

TVMIDDLEWARE_LOGIN_TYPE_PRIORITY_ORDER

настройка порядка проверки типа авторизации. Используется для определения типа авторизации, при запросе на авторизацию в TVMW API. При авторизации в TVMW API Smarty проверяет переданные в соответствующий API-метод данные на удовлетворение условию каждого из типов авторизации по порядку. Будет принят первый тип, условию которого удовлетворяют переданные данные. Допустимые значения типов авторизации:

По умолчанию:

TVMIDDLEWARE_LOGIN_TYPE_PRIORITY_ORDER = [
   'multilogin',
   'ip',
   'basic_device',
   'secondary_device',
]

Настройки внутреннего биллинга Smarty

TVMIDDLEWARE_API_ALLOW_UNSUBSCRIBE_BASIC

включает возможность отключения базовых тарифов через TVMiddleware API (через клиентские приложения), без данной опции биллинг Smarty позволяет только заменять один базовый тариф на другой.

BILLING_ON_ACCOUNT_TARIFF_SUBSCRIBE_CINEMA

при значении True при вызове методов AccountTariffAssign/AccountTariffRemove происходит подключение/отключение соответствующего тарифа внешнего кинотеатра и подключение/отключение подписки у абонента. Тип данных: bool. По умолчанию False.

TVMW_ACTIVATE_CUSTOMERS_ON_FIRST_PAYMENT

активирует абонентов при первой оплате. Тип данных: bool. По умолчанию False.

TVMW_ACTIVATE_REGISTERED_BY_DEFAULT

определяет статус параметра «активен» у аккаунтов, зарегистрированных через TVMW API. Тип данных: bool. По умолчанию False.

TVMW_MAXIMUM_PAYMENT_LIMIT

устанавливает ограничение для максимальной суммы финансовых операций. Тип данных: int. По умолчанию 5000.

TVMW_LIMIT_TRANSACTION_COUNT

устанавливает ограничение на создание финансовых операций одним пользователем в течение 10 минут. Тип данных: int. По умолчанию 3.

TVMW_DISPLAY_HIDDEN_TARIFFS_WITH_PRICE

при значении True TVMW API-методы возвращают скрытые тарифы в том случае, если у них ненулевая стоимость. Тип данных: bool.

TVMW_NOTIFY_TARIFF_ACTION

при значении True при смене тарифного плана абонент видит на экране ТВ соответствующее уведомление. При False сообщение не генерируется. Тип данных: bool. По умолчанию True.

TVMW_SEND_EMAIL_DEACTIVATED_ACCOUNTS

при значении True неактивным аккаунтам будут рассылаться уведомления о подключении тарифов на почту. При False уведомление не генерируется. Тип данных: bool. По умолчанию True.

TVMW_MESSAGE_DEFERRED_DELETION

при значении True сообщения, у которых стоит флаг «Удалить после прочтения», не удаляются сразу, а добавляются в список для удаления. В обратном случае сообщения удаляются сразу. Тип данных: bool. По умолчанию False.

TVMW_MESSAGE_DEFERRED_DELETION_COUNT

устанавливает предельное количество сообщений для удаления. При достижении заданного значения сообщения удаляются. Предназначено для снижения нагрузки на БД. Тип данных: int. По умолчанию 100.

TVMW_MESSAGE_LOG_ENABLED

при значении False логирование сообщений/массовых рассылок будет отключено. Тип данных: bool. По умолчанию True.

Настройки стриминга и маршрутизации

TVMIDDLEWARE_STREAM_SERVICE_TOKEN_TTL

время жизни одноразового токена для авторизации стриминг-сервисов в секундах. По прошествии данного времени для токена запускается механизм продления, если это поддерживается в используемом видеосервере (например, Spectr или Flussonic). Тип данных: int. По умолчанию 3600 (60 минут).

TVMIDDLEWARE_STREAM_SERVICE_TOKEN_MAX_TTL

максимальное время жизни токена в секундах, по достижении которого продление не осуществляется. Тип данных: int. По умолчанию 10800 (180 минут).

TVMIDDLEWARE_STREAM_SERVICE_TOKEN_PROLONGATION_THRESHOLD_TTL

пороговое значение оставшегося времени жизни токена в секундах, после которого осуществляется продление. Тип данных: int. По умолчанию 360 (6 минут).

TVMIDDLEWARE_STREAM_SERVICE_AUTH_DURATION

временной интервал, по истечении которого происходит перепроверка токена во Flussonic. Указывается в секундах. Тип данных: int. По умолчанию 180 (3 минуты).

TVMW_ARCHIVE_MINIMUM_PLAYLIST_DURATION

опция влияет на параметр $pet (program end time) в маске стриминг-сервисов типа PVR. Необходима для того, чтобы Smarty не возвращала слишком короткий плейлист, если текущая передача скоро заканчивается. Тип данных: int. По умолчанию 10000.

Настройки виджетов и внешних приложений

TVMIDDLEWARE_WEATHER_WIDGET_OPENWEATHERMAP_CITY

название города на английском языке (например, Moscow), для которого будет показан прогноз погоды по умолчанию в соответствующем виджете в приложениях абонента. Город должен существовать в сервисе OpenWeatherMap. Тип данных: string.

TVMIDDLEWARE_WEATHER_WIDGET_OPENWEATHERMAP_APPID

App ID в сервисе OpenWeatherMap, используется в обращениях к API сервиса при запросе прогноза погоды. Тип данных: int.

TVMIDDLEWARE_WEATHER_WIDGET_CACHE_TIMEOUT

время в секундах, на которое необходимо кешировать результат запроса прогноза погоды. Используется, чтобы уменьшить количество запросов. Тип данных: int. По умолчанию 900.

WEATHER_DEFAULT_BACKEND

бэкенд источника информации о погоде, используемый по умолчанию. Тип данных: string. Возможные значения: openweathermap, gismeteo, yahoo, fobos. По умолчанию openweathermap.

WEATHER_GISMETEO_TOKEN

токен для сервиса Gismeteo. Тип данных: string.

WEATHER_FOBOS_USER

имя пользователя для сервиса погоды «Фобос». Тип данных: string.

WEATHER_FOBOS_PASS

пароль пользователя для сервиса погоды «Фобос». Тип данных: string.

TVMIDDLEWARE_EXCHANGE_WIDGET_CACHE_TIMEOUT

время в секундах, на которое необходимо кешировать результат запроса курсов валют. Используется, чтобы уменьшить количество запросов. Тип данных: int. По умолчанию 7200.

TVMIDDLEWARE_EXCHANGE_WIDGET_FIRST_CURRENCY

первая валюта для виджета курсов валют в портале (см. http://www.cbr.ru/scripts/Root.asp?PrtId=SXML). Тип данных: string. По умолчанию USD.

TVMIDDLEWARE_EXCHANGE_WIDGET_SECOND_CURRENCY

вторая валюта для виджета курсов валют в портале. Тип данных: string. По умолчанию EUR.

TVMIDDLEWARE_EXCHANGE_WIDGET_COUNTRY_CODE

код страны. В зависимости от этого будет выбран источник данных для курсов валют. Тип данных: string. Возможные значения: RU (http://www.cbr.ru/scripts/XML_daily.asp), KG (http://www.nbkr.kg/XML/daily.xml), EE (https://www.eestipank.ee/en/exchange-rates/export/xml/latest). По умолчанию RU.

TVMIDDLEWARE_RSS_WIDGET_CACHE_TIMEOUT

время в секундах, на которое необходимо кешировать результат запроса RSS-ленты. Используется, чтобы уменьшить количество запросов. Тип данных: int. По умолчанию 900.

TVMIDDLEWARE_RSS_WIDGET_REQUEST_TIMEOUT

время в секундах, в течение которого ожидается ответ от внешнего сервиса новостей. Тип данных: int. По умолчанию 3.

Настройки логотипов оператора, иконок каналов и обложек контента

MEDIA_ROOT

абсолютный путь к директории, в которой размещаются статические файлы (css, картинки, js). Тип данных: string. По умолчанию директория media в корне Smarty.

UPLOAD_URL

относительный путь к директории для загружаемого контента (абсолютный путь определяется как конкатенация MEDIA_ROOT и UPLOAD_URL). Тип данных: string. По умолчанию /upload.

TVMW_CLIENT_LOGO_MAX_HEIGHT

максимальная высота логотипа оператора. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 240.

TVMW_CLIENT_LOGO_MAX_WIDTH

максимальная ширина логотипа оператора. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 320.

TVMW_CLIENT_PLAY_DEVICE_LOGO_MAX_HEIGHT

максимальная высота основного логотипа в абонентском приложении. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 240.

TVMW_CLIENT_PLAY_DEVICE_LOGO_MAX_WIDTH

максимальная ширина основного логотипа в абонентском приложении. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 320.

TVMW_CLIENT_PLAY_DEVICE_LOGO_LOGIN_MAX_HEIGHT

максимальная высота логотипа для экрана авторизации в абонентском приложении. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 240.

TVMW_CLIENT_PLAY_DEVICE_LOGO_LOGIN_MAX_WIDTH

максимальная ширина логотипа для экрана авторизации в абонентском приложении. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 320.

TVMW_CLIENT_PLAY_DEVICE_LOGO_LOADING_MAX_HEIGHT

максимальная высота логотипа для экрана загрузки в абонентском приложении. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 240.

TVMW_CLIENT_PLAY_DEVICE_LOGO_LOADING_MAX_WIDTH

максимальная ширина логотипа для экрана авторизации в абонентском приложении. Загруженный логотип будет сжат до этого размера. Тип данных: int. По умолчанию 320.

TVMW_VIDEO_POSTER_BIG_MAX_HEIGHT

максимальная высота обложки фильма VOD. Загруженная обложка будет сжата до этого размера. Тип данных: int. По умолчанию 800.

TVMW_VIDEO_POSTER_BIG_MAX_WIDTH

максимальная ширина обложки фильма VOD. Загруженная обложка будет сжата до этого размера. Тип данных: int. По умолчанию 800.

TVMW_VIDEO_POSTER_SMALL_MAX_HEIGHT

максимальная высота обложки для предпросмотра фильма VOD. Загруженная обложка будет сжата до этого размера. Тип данных: int. По умолчанию 300.

TVMW_VIDEO_POSTER_SMALL_MAX_WIDTH

максимальная ширина обложки для предпросмотра фильма VOD. Загруженная обложка будет сжата до этого размера. Тип данных: int. По умолчанию 300.

TVMW_VIDEO_FILE_PROMO_IMAGE_MAX_HEIGHT

максимальная высота промо-картинки видео-ассета в VOD. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 720.

TVMW_VIDEO_FILE_PROMO_IMAGE_MAX_WIDTH

максимальная ширина промо-картинки видео-ассета в VOD. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 1280.

TVMW_VIDEO_SCREENSHOT_BIG_MAX_HEIGHT

максимальная высота кадра из фильма контента в VOD. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 720.

TVMW_VIDEO_SCREENSHOT_BIG_MAX_WIDTH

максимальная ширина кадра из фильма контента в VOD. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 1280.

TVMW_VIDEO_SCREENSHOT_BLUR_RADIUS

радиус размытия, применяемый к скриншотам видео-ассета при загрузке. Тип данных: int. По умолчанию 4.

TVMW_EXAPP_ICON_MAX_HEIGHT

максимальная высота иконки стороннего приложения. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 600.

TVMW_EXAPP_ICON_MAX_WIDTH

максимальная ширина иконки стороннего приложения. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 900.

TVMW_ACTOR_PHOTO_MAX_HEIGHT

максимальная высота фотографии актера в VOD. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 800.

TVMW_ACTOR_PHOTO_MAX_WIDTH

максимальная ширина фотографии актера в VOD. Загруженная картинка будет сжата до этого размера. Тип данных: int. По умолчанию 800.

TVMW_TARIFF_MOBILE_ICON_MAX_HEIGHT

максимальная высота иконки тарифов для мобильных устройств. В случае, если разрешение картинки меньше заданного опцией, оно будет изменено в зависимости от заданного опцией значения. Тип данных: int. По умолчанию 177.

TVMW_TARIFF_MOBILE_ICON_MAX_WIDTH

максимальная ширина иконки тарифов для мобильных устройств. В случае, если разрешение картинки меньше заданного опцией, оно будет изменено в зависимости от заданного опцией значения. Тип данных: int. По умолчанию 157.

TVMW_TARIFF_STB_ICON_MAX_HEIGHT

максимальная высота иконки тарифов для STB и Smart TV. В случае, если разрешение картинки меньше заданного опцией, оно будет изменено в зависимости от заданного опцией значения.
Тип данных: int. По умолчанию: 177.

TVMW_TARIFF_STB_ICON_MAX_WIDTH

максимальная ширина иконки тарифов для STB и Smart TV. В случае, если разрешение картинки меньше заданного опцией, оно будет изменено в зависимости от заданного опцией значения.
Тип данных: int. По умолчанию 157.

TVMIDDLEWARE_CACHE_EXISTING_ICONS

включает кэширование данных о размерах существующих иконок. Необходимо для отправки иконок корректных размеров для устройств. Тип данных: bool. По умолчанию False.

SMARTY_DEFAULT_ICON_SIZE

стандартный размер иконки телеканала для загрузки в EPG Channel. Тип данных: tuple.

SMARTY_DEFAULT_ICON_SIZES

список дополнительных размеров для иконок телеканалов. Каждое значение должно быть кортежем из двух целочисленных значений. Максимум 3 дополнительных размера. Тип данных: list of tuples.

Пример настройки:

SMARTY_DEFAULT_ICON_SIZE = (500, 500)
SMARTY_DEFAULT_ICON_SIZES = [(120, 91), (40, 40)]

Настройки интеграции рекламы

TVMIDDLEWARE_ADS_ENABLED

при значении True в методах API ChannelUrl и ProgramUrl будет возвращаться параметр ads. Необходимо для работоспособности функционала рекламных блоков и роликов в шаблонах, которые это поддерживают. Может приводить к снижению производительности Smarty при большом количестве пользователей на один сервер. Тип данных: bool. По умолчанию False.

ADS_BLOCK_FREQUENCY_INTERVAL

устанавливает максимальный временной интервал частоты показа рекламного блока для одного аккаунта (частота указывается в Настройках показа рекламного блока). Указывается в секундах, по умолчанию 3600 (1 час).

ADS_BLOCK_MAX_AMOUNT

устанавливает ограничение на количество получаемых рекламных блоков, по умолчанию 5. Предупреждение: необходимо учитывать приоритеты в настройке рекламных блоков.

MONGODB_ADS_HOST

адрес сервера MongoDB для сбора статистики. По умолчанию ‘127.0.0.1’.

MONGODB_ADS_PORT

порт сервера MongoDB. По умолчанию 27017.

MONGODB_ADS_NAME

название базы данных. По умолчанию ‘smarty_device_monitoring‘.

MONGODB_ADS_USERNAME

имя пользователя для авторизации. По умолчанию ‘admin2‘.

MONGODB_ADS_PASSWORD

пароль для авторизации. По умолчанию ‘password2‘.

MONGODB_ADS_PUSH_TIMEOUT

таймаут для соединения. По умолчанию 150.

MONGODB_ADS_AUTH_METHOD

метод авторизации. Метод авторизации зависит от версии MongoDB. По умолчанию ‘MONGODB-CR‘.

ADS_ADSTREAM_DEVMODE

опция позволяет включить отдачу тестовых рекламных роликов от провайдера рекламы AdStream. Тип данных: bool. По умолчанию False.

ADS_ADSTREAM_HOST_REPLACE

хост кеширующего сервера рекламных роликов для ADStream. Некоторые провайдеры рекламы рекомендуют кешировать ролики на стороне оператора для отдачи их пользователям, для этих целей можно использовать Nginx, а новый хост, с которого будут отдаваться ролики, следует прописать в данное поле, благодаря чему Smarty автоматически будет подменять хост рекламного провайдера на заданный. Данная мера также позволит избежать блокировки рекламы со стороны браузеров.

ADS_QVOL_HOST_REPLACE

хост кеширующего сервера рекламных роликов для Qvol. Некоторые провайдеры рекламы рекомендуют кешировать ролики на стороне оператора для отдачи их пользователям, для этих целей можно использовать Nginx, а новый хост, с которого будут отдаваться ролики, следует прописать в данное поле, благодаря чему Smarty автоматически будет подменять хост рекламного провайдера на заданный. Данная мера также позволит избежать блокировки рекламы со стороны браузеров.

ADS_EPG_USE_CATEGORIES_AS_GENRES

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

ADS_DEFAULT_CITY

устанавливает дефолтное значение города для рекламы. Необходимо для работы с внешними источниками рекламы. Используется в случае, если у аккаунта город не определился автоматически. Тип данных: string.

Настройки панели управления Smarty

TVMIDDLEWARE_DISABLE_PAGINATION

отключает подсчет количества объектов при пагинации в некоторых списках в админке. Тип данных: bool. По умолчанию False.

TVMIDDLEWARE_CHANNEL_AUTOSORT

позволяет отключить функцию автосортировки каналов в Smarty, если задать значение []. Тип данных: list.

TVMW_PREVENT_CASCADE_DELETION

при значении True запрещает удаление объектов в Smarty через панель администратора при наличии у объектов дочерних связанных объектов. При значении False удаление таких объектов разрешено, но дочерние объекты при этом удалены не будут. Тип данных: bool. По умолчанию False.

TVMW_ENABLE_LINK_TO_CUSTOMER_ON_ACCOUNTS_PAGE

при значении True на странице списка аккаунтов в панели администратора в колонке «Абонент» будет отображаться ссылка на редактирование абонента. В обратном случае просто имя абонента. Тип данных: bool. По умолчанию False.

DEALERS_DISPLAY_MANUAL_ACCOUNT_ACTIVATION_DATE

включает/выключает возможность ручного ввода даты активации и деактивации в личном кабинете дилера. Тип данных: bool. По умолчанию False.

MONGODB_REPORT_TIMEOUT

таймаут для создания отчетов из панели администрирования в секундах. Необходим для снижения нагрузки на MongoDB. Тип данных: int. По умолчанию 600000.

BILLING_ACCURATE_SUBSCRIPTIONS

при значении True для создаваемых подписок должно указываться точное время создания (в обратном случае время отображается как 12:00). Доступно в новой логике биллинга. Тип данных: bool. По умолчанию False.

Пример настройки:

TVMIDDLEWARE_CHANNEL_AUTOSORT = ["sort_auto", "sort_id", "sort_alphabet", "sort_user", "sort_lcn"]

Настройки кеширования

TVMW_USE_TARIFF_LCN

опция, с помощью которой можно отключить формирование кеша каналов с фильтрацией по LCN согласно тарифам. В случае, если оператор не использует сортировку каналов по LCN, данная опция может существенно сократить количество кеша. Тип данных: bool. По умолчанию True.