Smarty

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

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

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

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

  • 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.

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

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.

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

TVMIDDLEWARE_CUSTOMER_LOG_ENABLED = 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.
  • 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.

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

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

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

  • TVMIDDLEWARE_VIDEO_NEW_DAYS — период в днях с даты добавления фильма, в течение которого добавленный фильм считается новинкой и отображается в соответствующем разделе в приложениях абонента. Тип данных: int. По умолчанию 60.
  • TVMIDDLEWARE_VIDEO_PREMIERE_DAYS — период в днях с даты премьеры фильма, в течение которого фильм считается премьерой и отображается в соответствующем разделе в приложениях абонента. Тип данных: int. По умолчанию 90.
  • TVMIDDLEWARE_CONTENT_POSITION_TTL_DAYS_VIDEO — период в днях, в течение которого необходимо хранить на сервере сохраненные позиции просмотра видео для возможности предложить абоненту продолжить просмотр с прошлой позиции. Тип данных: int. По умолчанию 30.
  • TVMIDDLEWARE_CONTENT_POSITION_TTL_DAYS_PROGRAM — период в днях, в течение которого необходимо хранить на сервере сохраненные позиции просмотра программы для возможности предложить абоненту продолжить просмотр с прошлой позиции. Тип данных: int. По умолчанию 30.
  • TVMIDDLEWARE_VIDEO_EXTERNAL_API_REQUIRED — при значении True поля «Внешний ID» и «Обработчик API» в форме создания фильма будут обязательными. Тип данных: bool. По умолчанию False.
  • TVMIDDLEWARE_VIDEO_ACTORS_EXTENDED_UPDATE — при загрузке фильмов из стороннего источника будет производиться автоматическая подгрузка дополнительной информации об актёрах. Тип данных: bool. По умолчанию True.
  • TVMIDDLEWARE_MOVIEDB — выбор базы с фильмами, которая используется для заполнения информации о добавляемых фильмах. Доступные значения: kinopoisk и cinemate. Тип данных: string. По умолчанию kinopoisk.
  • TVMIDDLEWARE_CINEMATE_KEY — API ключ для работы с базой cinemate.cc. Тип данных: string.

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

  • TVMIDDLEWARE_VODPVR_TIMEOUT_OFFSET — определяет за какое времени до удаления архивной записи они должны пропасть из выдачи для клиентов в часах. Тип данных: int. По умолчанию 2.
  • TVMW_DONT_USE_ENDLESS_WRT — при True отключается добавление флага endless=1 для приставок WRT в ссылках на видеопотоки. Тип данных: 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.

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

  • TVMIDDLEWARE_API_ALLOW_UNSUBSCRIBE_BASIC — включает возможность отключения базовых тарифов через TVMiddleware API (через клиентские приложения), без данной опции биллинг Smarty позволяет только заменять один базовый тариф на другой.
  • TVMW_ACTIVATE_CUSTOMERS_ON_FIRST_PAYMENT — активирует абонентов при первой оплате. Тип данных: bool. По умолчанию False.
  • TVMW_ACTIVATE_REGISTERED_BY_DEFAULT — определяет статус параметра «активен» у аккаунтов, зарегистрированных через TVMW API. Тип данных: bool. По умолчанию False.

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

  • 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 минуты).

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

  • 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.
  • 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.
  • WEATHER_DEFAULT_BACKEND — бэкенд источника информации о погоде, используемый по умолчанию. Тип данных: string. Возможные значения: openweathermap, gismeteo, yahoo, fobos. По умолчанию openweathermap.
  • WEATHER_GISMETEO_TOKEN — токен для сервиса Gismeteo. Тип данных: string.
  • WEATHER_FOBOS_USER — имя пользователя для сервиса погоды «Фобос». Тип данных: string.
  • WEATHER_FOBOS_PASS — пароль пользователя для сервиса погоды «Фобос». Тип данных: string.

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

  • 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.
  • 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.
  • 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 — хост кеширующего сервера рекламных роликов. Некоторые провайдеры рекламы рекомендуют кешировать ролики на стороне оператора для отдачи их пользователям, для этих целей можно использовать nginx, а новый хост, с которого будут отдаваться ролики, следует прописать в данное поле, благодаря чему Smarty автоматически будет подменять хост рекламного провайдера на заданный. Данная мера также позволит избежать блокировки рекламы со стороны браузеров.

Настройки панели управления 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.

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

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