{"id":1525,"date":"2020-10-06T14:02:25","date_gmt":"2020-10-06T11:02:25","guid":{"rendered":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%8b%d0%b5-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80%d1%8b"},"modified":"2026-02-27T00:57:34","modified_gmt":"2026-02-26T21:57:34","slug":"smarty-config","status":"publish","type":"docs","link":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/smarty-config","title":{"rendered":"System parameters"},"content":{"rendered":"<p>These settings must be specified in the Smarty configuration file <code>\/etc\/microimpuls\/smarty\/smarty.py<\/code> or in your custom configuration file. The file has Python syntax.<\/p>\n\n\n\n<p><strong>Attention!<\/strong> In order for the changes to take effect, you need to reboot uwsgi. Reboot uwsgi is carried out by the team <code>sudo service uwsgi restart<\/code><\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">General settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>DEBUG<\/code><\/h4>\n\n\n\n<p>includes debugging mode. If errors occur, deployed stacktrace errors in the browser will be shown. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TIME_ZONE<\/code><\/h4>\n\n\n\n<p>time zone of the server according to the name IANA. Data type: string. By default <strong>Europe\/Moscow<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>SECRET_KEY<\/code><\/h4>\n\n\n\n<p>unique private key of the instance. Used for secure caching of secret data in the process. Don't forget to change the setting <code>SECRET_KEY<\/code> it has a unique meaning. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>BILLING_CLIENTS_EXCLUDE<\/code><\/h4>\n\n\n\n<p>disables built-in billing (check_accounts and make_autopayments) for certain Client IDs. Data type: list.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>UWSGI_THREADING_ENABLED<\/code><\/h4>\n\n\n\n<p>this includes using uWSGI streams instead of native ones when performing some background tasks, which prevents them from erroneously ending when clearing resources after a request to the server is executed. It is recommended to use this parameter when detecting cache disability errors after requests. Requires enable-threads enabled in the uWSGI configuration.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>SMARTY_DEFAULT_LANGUAGE<\/code><\/h4>\n\n\n\n<p>Set the localization language of text variables returned from Smarty to client applications, which is used by default. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>SMARTY_ADDITIONAL_LANGUAGES<\/code><\/h4>\n\n\n\n<p>Adds additional localization languages for text variables returned from Smarty to client applications. Data type: list.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">DEBUG = False<br>TIME_ZONE = \"Europe\/Moscow\"<br>SECRET_KEY = \"de2kpvtRn19EGXu8r93DB1CDCZTmW5yE194pY7PQiw2kI7z002e1aCapj5HYITiY\"<br>BILLING_CLIENTS_EXCLUDE = [1, 2,]<br>SMARTY_DEFAULT_LANGUAGE = 'ru'<br>SMARTY_ADDITIONAL_LANGUAGES = [<br>    'en',<br>]<br><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><code>LOG_REQUEST_TIME<\/code><\/h4>\n\n\n\n<p>includes logging the time of execution of commands, requests (parameter) <code>runtime<\/code>). Data type: bool. By default&nbsp;<strong>False<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">List of modules included<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>INSTALLED_APPS<\/code><\/h4>\n\n\n\n<p>list of modules included. The list is supplemented by base.py basic modules via +=. Data type: list.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">INSTALLED_APPS +=\n'viewstats',\n'megogo,'\n'tvzavr,'\n'device_monitoring',\n'custom'\n)<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Connection settings to DB<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>DATABASES<\/code><\/h4>\n\n\n\n<p>in this array, the connection to the DBMS is configured. When using several DBMS for replication, you need to separately configure the connection to each of them, setting a unique name for each connection. Data type: dict.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">DATABASES = {\n'default':\n'ENGINE': 'django.db.backends.mysql',\n'NAME': 'smarty',\n'USER': 'root',\n'PASSWORD': 'jAE427aAyzVA8k8p',\n'HOST': '192.168.77.150',\n'PORT: ','\n}\n}<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Path and address settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>SMARTY_URL<\/code><\/h4>\n\n\n\n<p>the full URL to the Smarty instance. It is used to generate full URLs to the API and affects the performance of Smarty and low-level modules. Data type: string. By default <strong>http:\/\/smarty.example.com<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MEDIA_BASE_URL<\/code><\/h4>\n\n\n\n<p>a full URL that is used in API responses as a basic path to images and static resources, such as TV icons, EPG pictures or movie covers. In the basic version, it can be equal to the value <strong>SMARTY_URL<\/strong>. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_PORTAL_DOMAIN<\/code><\/h4>\n\n\n\n<p>the domain name on which the portal for devices such as STB and Smart TV is located. Used only for auxiliary information purposes and does not affect the operation of the application. Data type: string. By default <strong>example.com<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_API_URL<\/code><\/h4>\n\n\n\n<p>full URL to the TVMW API for use in the portal and applications. It is used to generate full URLs to the API and affects the performance of Smarty and low-level modules. Data type: string. By default <strong>http:\/\/smarty.example.com\/tvmiddleware\/api<\/strong>. Relative value can be used for multidomain installation <strong>\/api<\/strong>.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">SMARTY_URL = 'http:\/\/smarty.example.com:8180'<br>MEDIA_BASE_URL = 'http:\/\/smarty.example.com:8180'<br>TVMIDDLEWARE_PORTAL_DOMAIN = 'example.com'<br>TVMIDDLEWARE_API_URL = '\/api'<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Settings of behavior of subscribers and accounts<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_CUSTOMER_LOG_ENABLED<\/code><\/h4>\n\n\n\n<p>includes logging the activity of subscribers in the database. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_REGISTRATION_DEFAULT_TARIFFS_LOCATION_FILTER<\/code><\/h4>\n\n\n\n<p>includes filtering of the default geolocation tariffs of registration. When the value of True at the time of registration of a new subscriber, the tariffs marked as \u00abConnected by default\u00bb and its corresponding geolocations (fields \u00abAvailable in cities\u00bb or \u00abAvailable in countries\u00bb in the form of a tariff) will be connected to it. Otherwise, geolocation will be ignored during registration. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">TVMIDDLEWARE_CUSTOMER_LOG_ENABLED = True\nTVMW_REGISTRATION_DEFAULT_TARIFFS_LOCATION_FILTER = True<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Behavior settings TV and EPG<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_PAST<\/code><\/h4>\n\n\n\n<p>depth of EPG search into the past in days. It is used when searching for content. When using a high value, the search will be carried out longer and use more resources of the database server and Middleware. Data type: int. By default <strong>1<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_FUTURE<\/code><\/h4>\n\n\n\n<p>depth of EPG search into the future in days. It is used when searching for content. When using a high value, the search will be carried out longer and use more resources of the database server and Middleware. Data type: int. By default <strong>1<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_PROGRAM_LIST_SEARCH_LIMIT_RESULTS_TO<\/code><\/h4>\n\n\n\n<p>the maximum number of results that will be returned by the server to the transmission search request (the API ProgramListSearch method). Data type: int. By default <strong>20<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_RECOMMENDATIONS_ENABLED<\/code><\/h4>\n\n\n\n<p>includes the category \"Recommended\" in the section \"TV by interests\". Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CONSIDER_PROGRAM_CATEGORY<\/code><\/h4>\n\n\n\n<p>when the value of False in the issuance of the API-method ProgramCategoryChannelList (\u201cTV by interests\u201d), the dynamic category of the current transmission is not taken into account and the list of channels is formed only based on a fixed category EpgChannel. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_DISABLE_MULTICAST_SMARTTV<\/code><\/h4>\n\n\n\n<p>at True, channels with multicast addresses for Smart TVs will be hidden. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_DISABLE_MULTICAST_MOBILE<\/code><\/h4>\n\n\n\n<p>at True, channels with multicast addresses for mobile devices will be hidden. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>UPDATE_CHANNEL_LIST_CHANGE<\/code><\/h4>\n\n\n\n<p>at True, it initiates a re-query of the channel list from subscribers after changing the channel list in the Smarty admin panel. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_CHANNEL_LIST_MAX_ACCOUNTS_PER_MINUTE<\/code><\/h4>\n\n\n\n<p>the speed of flagging the need to update the list of channels of accounts, regulates the maximum number of accounts per minute, which displays this flag (works only with the mechanism on) <a href=\"https:\/\/micro.im\/docs\/smarty\/scaling-and-redundancy\/configuring-asynchronous-task-execution-via-rq\" data-type=\"URL\" data-id=\"https:\/\/micro.im\/docs\/smarty\/scaling-and-redundancy\/configuring-asynchronous-task-execution-via-rq\">smarty_rq<\/a>). Data type: int. By default <strong>1000<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>RQ_CHANNEL_LIST_CHANGED_JOB_TIMEOUT<\/code><\/h4>\n\n\n\n<p>maximum time of RQ in the process of flagging the need to update the list of channels for accounts. Data type: int. By default <strong>3600<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_DO_NOT_IMPORT_UNUSED<\/code><\/h4>\n\n\n\n<p>it allows you to disable the import of unused EPG channels and speed up the work of the epg_import team. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_SAVE_MULTIPLE_CATEGORIES<\/code><\/h4>\n\n\n\n<p>determines whether to retain all transmission categories described in XMLTV when importing EPG. With the value of False, only the first category found will be retained. The option is present to ensure backward compatibility with older versions of applications. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_IMPORT_ALLOW_PARSER_HANDLING<\/code><\/h4>\n\n\n\n<p>allows the import control of the EPG to be transferred to the parser at the time of import, if enabled, then the parser may not load the EPG under certain conditions, it must be turned off if the EPG is not loaded for some reason. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_OPTIMIZE_DUMMY_SOURCE<\/code><\/h4>\n\n\n\n<p>it includes simplified imports that do not recreate existing programs. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_DEFAULT_ASPECT_RATIO<\/code><\/h4>\n\n\n\n<p>specifies the standard aspect ratio for posters of imported programs. In the absence of a poster with a default ratio, the first corresponding poster is downloaded. Possible values: 16:9, 4:3, 2:3. Data type: string. By default <strong>4:3<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_SELECTION_PREVIEW_ASPECT_RATIO<\/code><\/h4>\n\n\n\n<p>indicates the size of the returned posters for collection-related methods. Data type: string. By default <strong>None of them<\/strong> (with None the meaning is taken) <code>TVMW_EPG_DEFAULT_ASPECT_RATIO<\/code>).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_PREVIEW_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>limit the length of the transmission preview image with a resolution of 4\u00d73. <strong>Warning<\/strong>: To work, you need to turn on the conversion of posters and channel icons in the EPG source. The image is compressed according to the parameters according to the following condition: if the size of any side of the original image exceeds the specified boundaries, then the image is compressed proportionally to the given condition (for example, if the original image is 1000\u00d7500 and the limit is 500\u00d7500, it is compressed to 500\u00d7250). Data type: int. By default <strong>300<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_PREVIEW_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>limiting the height of the transmission preview image with a resolution of 4\u00d73. <strong>Warning<\/strong>: To work, you need to turn on the conversion of posters and channel icons in the EPG source. The image is compressed according to the parameters according to the following condition: if the size of any side of the original image exceeds the specified boundaries, then the image is compressed proportionally to the given condition (for example, if the original image is 1000\u00d7500 and the limit is 500\u00d7500, it is compressed to 500\u00d7250). Data type: int. By default <strong>300<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_PREVIEW_MAX_WIDTH_16_9<\/code><\/h4>\n\n\n\n<p>limit the length of the transmission preview image with a resolution of 16\u00d79. <strong>Warning<\/strong>: To work, you need to turn on the conversion of posters and channel icons in the EPG source. The image is compressed according to the parameters according to the following condition: if the size of any side of the original image exceeds the specified boundaries, then the image is compressed proportionally to the given condition (for example, if the original image is 1000\u00d7500 and the limit is 500\u00d7500, it is compressed to 500\u00d7250). Data type: int. By default <strong>300<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EPG_PREVIEW_MAX_HEIGHT_16_9<\/code><\/h4>\n\n\n\n<p>limiting the height of the transmission preview image with a resolution of 16\u00d79. <strong>Warning<\/strong>: To work, you need to turn on the conversion of posters and channel icons in the EPG source. The image is compressed according to the parameters according to the following condition: if the size of any side of the original image exceeds the specified boundaries, then the image is compressed proportionally to the given condition (for example, if the original image is 1000\u00d7500 and the limit is 500\u00d7500, it is compressed to 500\u00d7250). Data type: int. By default <strong>300<\/strong>.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">TVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_PAST = 1\nTVMIDDLEWARE_PROGRAM_LIST_SEARCH_DAYS_FUTURE = 3\nTVMIDDLEWARE_PROGRAM_LIST_SEARCH_LIMIT_RESULTS_TO = 20\nTVMW_EPG_DO_NOT_IMPORT_UNUSED = True\nTVMW_EPG_DEFAULT_ASPECT_RATIO = '2:3'\nTVMW_SELECTION_PREVIEW_ASPECT_RATIO = '16:9'\nTVMW_EPG_PREVIEW_MAX_WIDTH = 300\nTVMW_EPG_PREVIEW_MAX_HEIGHT = 300\nTVMW_EPG_PREVIEW_MAX_WIDTH_16_9 = 300\nTVMW_EPG_PREVIEW_MAX_HEIGHT_16_9 = 300<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Behavior settings of VOD and online cinemas<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_VIDEO_NEW_DAYS<\/code><\/h4>\n\n\n\n<p>the period in days from the date of addition of the film, during which the added film is considered a novelty and is displayed in the relevant section in the subscriber's applications. Data type: int. By default <strong>60<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_VIDEO_PREMIERE_DAYS<\/code> <\/h4>\n\n\n\n<p>the period in days from the date of the premiere of the film, during which the film is considered to be the premiere and is displayed in the corresponding section in the subscriber's applications. Data type: int. By default <strong>90<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_VIDEO_PREMIERE_YEARS<\/code> <\/h4>\n\n\n\n<p>the range of years in which added films are considered premieres and will be returned by the VideoList method when the option is added <code>premiere<\/code>. The range is calculated by the following formula: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[current year - TVMIDDLEWARE_VIDEO_PREMIERE_YEARS; current year]. <\/pre>\n\n\n\n<p><strong>Warning<\/strong>: With the value of None, films will be returned depending on the option <code>TVMIDDLEWARE_VIDEO_PREMIERE_DAYS<\/code>. When specifying the option <code>TVMIDDLEWARE_VIDEO_PREMIERE_YEARS<\/code> and <code>TVMIDDLEWARE_VIDEO_PREMIERE_DAYS<\/code> priority is given first. Data type: int. By default <strong>None of them<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_CONTENT_POSITION_TTL_DAYS_VIDEO<\/code> <\/h4>\n\n\n\n<p>a period in days during which it is necessary to store stored video viewing positions on the server in order to offer the subscriber to continue viewing from the previous position. Data type: int. By default <strong>30<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_CONTENT_POSITION_TTL_DAYS_PROGRAM<\/code> <\/h4>\n\n\n\n<p>the period in days during which it is necessary to store saved viewing positions of the program on the server in order to offer the subscriber to continue viewing from the previous position. Data type: int. By default <strong>30<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_VIDEO_IS_VIEWED_TO_END_THRESHOLD_PERCENTAGE<\/code> <\/h4>\n\n\n\n<p>establishes a threshold value (in percentage) of the remaining time until the end of the film, upon reaching which the film is considered viewed. The viewing mechanism will work correctly only if the film\u2019s assets have correctly filled the field \u00abDuration\u00bb Data type: int. By default <strong>1<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_VIDEO_EXTERNAL_API_REQUIRED<\/code> <\/h4>\n\n\n\n<p>for True, the \"External ID\" and \"API Processor\" fields in the film creation form will be mandatory. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>EXTERNAL_API_VIDEO_CHECK_BALANCE_REQUEST<\/code> <\/h4>\n\n\n\n<p>at the value of True, the billing alert is activated during the balance check (using the method call) <code>perform_subcr_action_in_default_video_api_client<\/code> on <code>action='check_balance'<\/code>), the option is relevant for operators with integration of external billing.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_VIDEO_ACTORS_EXTENDED_UPDATE<\/code> <\/h4>\n\n\n\n<p>when downloading films from a third-party source, additional information about the actors will be automatically downloaded. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_MOVIEDB<\/code> <\/h4>\n\n\n\n<p>selection of a database with films, which is used to fill in information about added films. Available values: <strong>kinopoisk<\/strong>, <strong>tmdb<\/strong>, <strong>kinopoisk_api_unofficial<\/strong> . Data type: string. By default <strong>kinopoisk_api_unofficial<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_TMDB_API_KEY<\/code> <\/h4>\n\n\n\n<p>API key for working with themoviedb.org database (located in the personal account of themoviedb.org in the Settings section). Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_TMDB_IMPORT_LANGUAGE<\/code><\/h4>\n\n\n\n<p>defines the language of imported values with TMDB. A list of possible language values can be found in the ISO 639-1 table. Data type: string. By default <strong>ru<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_KINOPOISK_API_UNOFFICIAL_API_KEY<\/code> <\/h4>\n\n\n\n<p>\u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a API Kinopoisk Api Unofficial https:\/\/kinopoiskapiunofficial.tech\/.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_LIST_SEARCH_BY_RELEVANCE<\/code> <\/h4>\n\n\n\n<p>includes a search by relevance in search queries, in which the list of films in the answer will be sorted by the position of the search bar: first return movies, where the set of search characters is in the first positions. <strong>Warning<\/strong>: the search results take into account the space symbol, if a space is indicated in the search bar at the end, then only those films will come in the answer in which one of the words will end on the match of the search bar (the gap at the beginning of the search query is also taken into account). Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>VIJU COUNTRY OF LICENCE<\/code><\/h4>\n\n\n\n<p>list of available regions. To remove already downloaded inaccessible to the region content is recommended to run <a href=\"https:\/\/microimpuls.com\/en\/docs\/smarty\/external-vod-integration\/viju\/\" target=\"_blank\" rel=\"noreferrer noopener\">synchronization<\/a> parameterized <code>--remove_outdated<\/code>. Data type: list. By default <strong>[\u2018RU\u2019]<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PVR behavior settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_VODPVR_TIMEOUT_OFFSET<\/code><\/h4>\n\n\n\n<p>determines how long before deletion, the archival record should disappear from the customer issue (in hours). Data type: int. By default <strong>2<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_DONT_USE_ENDLESS_WRT<\/code><\/h4>\n\n\n\n<p>when the value of True turns off the addition of the flag <code>endless=1<\/code> for WRT consoles in links to video streams. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_PROGRAM_RECORD_ONLY_FINISHED<\/code><\/h4>\n\n\n\n<p>with the value of True in the API-method for obtaining a list of records in the screen \u00abArchive &amp; #187; not yet completed transfers will be transmitted. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Account and device authorization settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_MULTILOGIN_ENABLED<\/code><\/h4>\n\n\n\n<p>enables or disables the multilogin mechanism (an account with unlimited authorization options) in Smarty. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_USE_DIRECT_AUTHKEY_GENERATOR<\/code><\/h4>\n\n\n\n<p>when the True value is used, a Direct generator will be used instead of a Secondary generator for unregistered device types. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_REGISTRATION_SAVE_MOBILE_PHONE<\/code><\/h4>\n\n\n\n<p>store the phone number used during registration. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>RANDOM_NEXT_ABONEMENT<\/code><\/h4>\n\n\n\n<p>flag switching mode generation season tickets when creating accounts. When installing False, the number of each new subscription is equal to the increment of the maximum subscription value among the client accounts, when installing True, the subscription number is generated randomly (six characters). Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_REGISTRATION_SUBNETS_FOR_CAPTCHA<\/code><\/h4>\n\n\n\n<p>establishes a list of subnets from which CAPTCHA will be shown to users when registering. Data type: list. By default <strong>[\u20180.0.0.0\/0\u2019]<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_UPDATE_PHONE_NUMBER_ON_REGISTER<\/code><\/h4>\n\n\n\n<p>when you try to register an account on a device already registered with Smarty, a new account is not created, and the specified phone number is added to the current account of the device. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_USE_PHONE_NUMBER_IN_ABONEMENT<\/code><\/h4>\n\n\n\n<p>at the value of True, a new account with a number similar to the phone number of the customizer will be generated during registration (without the country number, 10 characters). Otherwise, the generation is performed in a standard way. Data type: bool. By default <strong>False<\/strong>.<br><strong>Warning<\/strong>If Smarty already has an account with such a number, then the account number is generated according to the option <code>RANDOM_NEXT_ABONEMENT<\/code>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVWM_MULTILOGIN_CREATE_DEVICE<\/code><\/h4>\n\n\n\n<p>at the value of True during authorization from the account with the multilogin in Smarty, a tied device is created. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_REMOVE_DUPLICATE_UID_ON_LOGIN<\/code><\/h4>\n\n\n\n<p>at True, when calling Login, duplicate devices with the same UID are removed. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVWM_REBIND_DEVICE_ON_LOGIN<\/code><\/h4>\n\n\n\n<p>at True, the authorization method does not return the error that the device is already linked to another account, but instead unties the device from the old account and binds to the new one. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_API_ALLOW_ACCOUNT_REGISTER<\/code><\/h4>\n\n\n\n<p>at False, the ability to register new users through the TVMW API is blocked. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_UPDATE_IP_IN_REALTIME<\/code><\/h4>\n\n\n\n<p>at the value of True, the IP update and geolocation of the account is enabled for any API requests. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CORRECT_IP_LOGIN<\/code><\/h4>\n\n\n\n<p>at True, IP authorization will take into account sessions from basic and\/or additional devices. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CHECK_STATUS_REASON_ON_LOGIN<\/code><\/h4>\n\n\n\n<p>if the value of True when calling the Login method, the account in addition to the main status will also be checked additional. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_LOGIN_REQUEST_MAX_COUNT<\/code><\/h4>\n\n\n\n<p>sets a limit on the number of login attempts in a certain period of time. Data type: int. By default <strong>3<\/strong>. <strong>Warning:<\/strong> time period is determined by the option <code>TVMW_LOGIN_REQUEST_COUNTING_PERIOD_MINUTES<\/code>. At 0, the check is off.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_LOGIN_REQUEST_COUNTING_PERIOD_MINUTES<\/code><\/h4>\n\n\n\n<p>establishes the period of time (in minutes) during which the number of login attempts is counted. Data type: int. By default <strong>0<\/strong>. <strong>Warning:<\/strong> at 0, the check is off.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_LOGIN_REQUEST_CHECK_IGNORE_IPS<\/code><\/h4>\n\n\n\n<p>establishes a list of IP addresses for which the frequency of authorization requests will not be checked. Data type: list. By default <strong>[]<\/strong>. <\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">TVMW_LOGIN_REQUEST_CHECK_IGNORE_IPS = [\"127.0.0.1,\" \"127.0.0.2]<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_LOGIN_REQUEST_CHECK_IGNORE_ABONEMENTS<\/code><\/h4>\n\n\n\n<p>establishes a list of season tickets for which the frequency of authorization requests will not be checked. Data type: list. By default <strong>[]<\/strong>.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">TVMW_LOGIN_REQUEST_CHECK_IGNORE_ABONEMENTS = [\"123456,\" \"234567]<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_LOGIN_TYPE_PRIORITY_ORDER<\/code><\/h4>\n\n\n\n<p>setting up the procedure for checking the type of authorization. It is used to determine the type of authorization when requesting authorization in the TVMW API. When logging into TVMW, the Smarty API checks the data transmitted to the corresponding API method to satisfy the condition of each type of authorization in order. The first type will be accepted, the condition of which is satisfied by the transmitted data. Permissible values of authorization types:<\/p>\n\n\n\n<p>By default:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">TVMIDDLEWARE_LOGIN_TYPE_PRIORITY_ORDER =\n'multilogin',\n'ip',\n'basic_device,'\n'secondary_device',\n]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Settings of internal billing Smarty<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_API_ALLOW_UNSUBSCRIBE_BASIC<\/code><\/h4>\n\n\n\n<p>includes the ability to disable basic tariffs through the TVMiddleware API (through client applications), without this option, Smarty billing allows you to only replace one basic tariff with another.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>BILLING_ON_ACCOUNT_TARIFF_SUBSCRIBE_CINEMA<\/code><\/h4>\n\n\n\n<p>at the value of True, when calling AccountTariffAssign\/AccountTariffRemove methods, the connection \/ disabling of the corresponding tariff of the external theater and the connection \/ disconnection of the subscription from the subscriber occurs. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_ACTIVATE_CUSTOMERS_ON_FIRST_PAYMENT<\/code><\/h4>\n\n\n\n<p>activate subscribers at the first payment. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_ACTIVATE_REGISTERED_BY_DEFAULT<\/code><\/h4>\n\n\n\n<p>determines the status of the parameter \u00ab active \u00bb for accounts registered through the TVMW API. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_MAXIMUM_PAYMENT_LIMIT<\/code><\/h4>\n\n\n\n<p>sets a limit on the maximum amount of financial transactions. Data type: int. By default <strong>5000<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_LIMIT_TRANSACTION_COUNT<\/code><\/h4>\n\n\n\n<p>it limits the creation of financial transactions by one user within 10 minutes. Data type: int. By default <strong>3<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_DISPLAY_HIDDEN_TARIFFS_WITH_PRICE<\/code><\/h4>\n\n\n\n<p>at True TVMW, API methods return hidden rates if they have a non-zero cost. Data type: bool.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_NOTIFY_TARIFF_ACTION<\/code><\/h4>\n\n\n\n<p>at the value of True when changing the tariff plan, the subscriber sees the corresponding notification on the TV screen. In False, no message is generated. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_SEND_EMAIL_DEACTIVATED_ACCOUNTS<\/code><\/h4>\n\n\n\n<p>at the value of True, inactive accounts will be sent notifications about connecting tariffs to the mail. In False, no notification is generated. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>DEFAULT_CHEQUE_EMAIL<\/code><\/h4>\n\n\n\n<p>allows you to specify default mail for sending checks on payments in case of its absence from the subscriber. If <code>DEFAULT_CHEQUE_EMAIL<\/code> empty, it uses the old behavior with the generation of mail on the domain example.com. When filled <code>DEFAULT_CHEQUE_EMAIL<\/code> e-mail of the subscriber is used if available. Data type: string.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">DEFAULT_CHEQUE_EMAIL = \"payments@mail.ru\"<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_MESSAGE_DEFERRED_DELETION<\/code><\/h4>\n\n\n\n<p>at True, messages with the flag \u00abDelete after reading\u00bb are not deleted immediately, but are added to the list for deletion. Otherwise, the messages are deleted immediately. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_MESSAGE_DEFERRED_DELETION_COUNT<\/code><\/h4>\n\n\n\n<p>sets a limit on the number of messages to be deleted. When a given value is reached, messages are deleted. Designed to reduce the load on the DB. Data type: int. By default <strong>100<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_MESSAGE_LOG_ENABLED<\/code><\/h4>\n\n\n\n<p>at the value of False logging messages \/ mass mailings will be disabled. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Streaming and routing settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_STREAM_SERVICE_TOKEN_TTL<\/code><\/h4>\n\n\n\n<p>lifetime of a one-time token to authorize streaming services in seconds. After this time, a renewal mechanism is triggered for the token, if this is supported in the video server used (for example, Spectr or Flussonic). Data type: int. By default <strong>3600<\/strong> (60 minutes).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_STREAM_SERVICE_TOKEN_MAX_TTL<\/code><\/h4>\n\n\n\n<p>the maximum lifetime of the token in seconds, after which the extension is not carried out. Data type: int. By default <strong>10800<\/strong> (180 minutes).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_STREAM_SERVICE_TOKEN_PROLONGATION_THRESHOLD_TTL<\/code><\/h4>\n\n\n\n<p>the threshold value of the remaining life of the token in seconds, after which the extension is carried out. Data type: int. By default <strong>360<\/strong> (6 minutes).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_STREAM_SERVICE_AUTH_DURATION<\/code><\/h4>\n\n\n\n<p>the time interval after which the token is rechecked in Flussonic. It's in seconds. Data type: int. By default <strong>180<\/strong> (3 minutes).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_ARCHIVE_MINIMUM_PLAYLIST_DURATION<\/code><\/h4>\n\n\n\n<p>the option affects the $pet (program end time) setting in the mask of streaming services such as PVR. It is necessary to ensure that Smarty does not return too short a playlist if the current transfer ends soon. Data type: int. By default <strong>10000<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code><code>STREAMING_MAINTENCE_JOB_BEGIN_TIMESHIFT<\/code><\/code><\/h4>\n\n\n\n<p>the option specifies the time of deferred team <code><a href=\"https:\/\/micro.im\/docs\/smarty\/configuring-and-management\/management-commands#%D0%B0%D0%BA%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%BE%D0%B2-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D0%BE%D1%81%D1%82%D0%B8-%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B2-%D0%B8-%D1%81%D1%82%D1%80%D0%B8%D0%BC%D0%B8%D0%BD%D0%B3-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B5-%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85-%D1%80%D0%B0%D0%B1%D0%BE%D1%82\">check_maintenances<\/a><\/code> planner <code>rqscheduler<\/code>. Data type: int. By default <strong>60<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CHANNEL_UNAVAILABLE_URI<\/code><\/h4>\n\n\n\n<p>an option to specify a stream-stub URL that will be played if the channel is unavailable. Data type: string. By default<strong> blank-line<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Settings of widgets and external applications<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_WEATHER_WIDGET_OPENWEATHERMAP_CITY<\/code><\/h4>\n\n\n\n<p>name of the city in english (for example), <strong>Moscow<\/strong>), for which the default weather forecast will be shown in the corresponding widget in the subscriber's applications. The city must exist on OpenWeatherMap. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_WEATHER_WIDGET_OPENWEATHERMAP_APPID<\/code><\/h4>\n\n\n\n<p>App ID in the OpenWeatherMap service is used in calls to the service API when requesting a weather forecast. Data type: int.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_WEATHER_WIDGET_CACHE_TIMEOUT<\/code><\/h4>\n\n\n\n<p>time in seconds for which you need to cache the result of the weather forecast request. It is used to reduce the number of requests. Data type: int. By default <strong>900<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>WEATHER_DEFAULT_BACKKEND<\/code><\/h4>\n\n\n\n<p>backend source of weather information used by default. Data type: string. Possible values: <strong>openweathermap<\/strong>, <strong>gismeteo<\/strong>, <strong>yahoo<\/strong>, <strong>fobos<\/strong>. By default <strong>openweathermap<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>WEATHER_GISMETEO_TOKEN<\/code><\/h4>\n\n\n\n<p>token for the Gismeteo service. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>WEATHER_FOBOS_USER<\/code><\/h4>\n\n\n\n<p>username for the weather service Phobos. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>WEATHER_FOBOS_PASS<\/code><\/h4>\n\n\n\n<p>user password for the weather service Phobos. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_EXCHANGE_WIDGET_CACHE_TIMEOUT<\/code><\/h4>\n\n\n\n<p>time in seconds for which it is necessary to cache the result of the request for exchange rates. It is used to reduce the number of requests. Data type: int. By default <strong>7200<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_EXCHANGE_WIDGET_FIRST_CURRENCY<\/code><\/h4>\n\n\n\n<p>\u043f\u0435\u0440\u0432\u0430\u044f \u0432\u0430\u043b\u044e\u0442\u0430 \u0434\u043b\u044f \u0432\u0438\u0434\u0436\u0435\u0442\u0430 \u043a\u0443\u0440\u0441\u043e\u0432 \u0432\u0430\u043b\u044e\u0442 \u0432 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 (\u0441\u043c. http:\/\/www.cbr.ru\/scripts\/Root.asp?PrtId=SXML). \u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445: string. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <strong>USD<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_EXCHANGE_WIDGET_SECOND_CURRENCY<\/code><\/h4>\n\n\n\n<p>the second currency for the widget of exchange rates in the portal. Data type: string. By default <strong>EUR<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_EXCHANGE_WIDGET_COUNTRY_CODE<\/code><\/h4>\n\n\n\n<p>country code. Depending on this, a source of data for exchange rates will be selected. Data type: string. Possible values: <strong>RU<\/strong> (http:\/\/www.cbr.ru\/scripts\/XML_daily.asp), <strong>KG<\/strong> (http:\/\/www.nbkr.kg\/XML\/daily.xml), <strong>EE<\/strong> (https:\/\/www.eestipank.ee\/en\/exchange-rates\/export\/xml\/latest). \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e <strong>RU<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_RSS_WIDGET_CACHE_TIMEOUT<\/code><\/h4>\n\n\n\n<p>time in seconds for which you need to cache the result of the RSS feed request. It is used to reduce the number of requests. Data type: int. By default <strong>900<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_RSS_WIDGET_REQUEST_TIMEOUT<\/code><\/h4>\n\n\n\n<p>time in seconds during which a response from an external news service is expected. Data type: int. By default <strong>3<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Settings of operator logos, channel icons and content covers<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MEDIA_ROOT<\/code><\/h4>\n\n\n\n<p>the absolute path to the directory in which static files (css, pictures, js) are placed. Data type: string. By default directory <strong>media<\/strong> at the root of Smarty.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>UPLOAD_URL<\/code><\/h4>\n\n\n\n<p>relative directory path for downloadable content (the absolute path is defined as concatenation) <code>MEDIA_ROOT<\/code> and <code>UPLOAD_URL<\/code>). Data type: string. By default <strong>upload<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_LOGO_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum height of the operator logo. The uploaded logo will be compressed to this size. Data type: int. By default <strong>240<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_LOGO_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the operator\u2019s logo. The uploaded logo will be compressed to this size. Data type: int. By default <strong>320<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_PLAY_DEVICE_LOGO_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum height of the main logo in the subscriber application. The uploaded logo will be compressed to this size. Data type: int. By default <strong>240<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_PLAY_DEVICE_LOGO_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the main logo in the subscriber application. The uploaded logo will be compressed to this size. Data type: int. By default <strong>320<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_PLAY_DEVICE_LOGO_LOGIN_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum logo height for the authorization screen in the subscriber application. The uploaded logo will be compressed to this size. Data type: int. By default <strong>240<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_PLAY_DEVICE_LOGO_LOGIN_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the logo for the authorization screen in the subscriber application. The uploaded logo will be compressed to this size. Data type: int. By default <strong>320<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_PLAY_DEVICE_LOGO_LOADING_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum logo height for the download screen in the subscriber application. The uploaded logo will be compressed to this size. Data type: int. By default <strong>240<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_CLIENT_PLAY_DEVICE_LOGO_LOADING_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the logo for the authorization screen in the subscriber application. The uploaded logo will be compressed to this size. Data type: int. By default <strong>320<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_POSTER_BIG_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>the maximum height of the VOD film cover. The uploaded cover will be compressed to this size. Data type: int. By default <strong>800<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_POSTER_BIG_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>the maximum width of the VOD film cover. The uploaded cover will be compressed to this size. Data type: int. By default <strong>800<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_POSTER_SMALL_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum cover height for previewing a VOD film. The uploaded cover will be compressed to this size. Data type: int. By default <strong>300<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_POSTER_SMALL_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum cover width for previewing a VOD film. The uploaded cover will be compressed to this size. Data type: int. By default <strong>300<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_FILE_PROMO_IMAGE_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>the maximum height of the promotional video asset in VOD. The uploaded image will be compressed to this size. Data type: int. By default <strong>720<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_FILE_PROMO_IMAGE_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>the maximum width of the promotional video asset in VOD. The uploaded image will be compressed to this size. Data type: int. By default <strong>1280<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_SCREENSHOT_BIG_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>the maximum height of the frame from the content film in VOD. The uploaded image will be compressed to this size. Data type: int. By default <strong>720<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_SCREENSHOT_BIG_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>the maximum width of the frame from the content film in VOD. The uploaded image will be compressed to this size. Data type: int. By default <strong>1280<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_VIDEO_SCREENSHOT_BLUR_RADIUS<\/code><\/h4>\n\n\n\n<p>the blur radius applied to screenshots of a video asset when downloading. Data type: int. By default <strong>4<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EXAPP_ICON_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>the maximum height of the third-party application icon. The uploaded image will be compressed to this size. Data type: int. By default <strong>600<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_EXAPP_ICON_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the third-party application icon. The uploaded image will be compressed to this size. Data type: int. By default <strong>900<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_ACTOR_PHOTO_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum height of the actor's photo in VOD. The uploaded image will be compressed to this size. Data type: int. By default <strong>800<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_ACTOR_PHOTO_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the actor's photo in VOD. The uploaded image will be compressed to this size. Data type: int. By default <strong>800<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_TARIFF_MOBILE_ICON_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum height of the tariff icon for mobile devices. If the resolution of the image is less than the specified option, it will be changed depending on the value specified by the option. Data type: int. By default <strong>177<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_TARIFF_MOBILE_ICON_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the tariff icon for mobile devices. If the resolution of the image is less than the specified option, it will be changed depending on the value specified by the option. Data type: int. By default <strong>157<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_TARIFF_STB_ICON_MAX_HEIGHT<\/code><\/h4>\n\n\n\n<p>maximum tariff icon height for STB and Smart TV. If the resolution of the image is less than the specified option, it will be changed depending on the value specified by the option.<br>Data type: int. By default: <strong>177<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_TARIFF_STB_ICON_MAX_WIDTH<\/code><\/h4>\n\n\n\n<p>maximum width of the tariff icon for STB and Smart TV. If the resolution of the image is less than the specified option, it will be changed depending on the value specified by the option.<br>Data type: int. By default <strong>157<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_CACHE_EXISTING_ICONS<\/code><\/h4>\n\n\n\n<p>this includes caching data on the size of existing icons. It is necessary to send icons of correct sizes for devices. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>SMARTY_DEFAULT_ICON_SIZE<\/code><\/h4>\n\n\n\n<p>standard channel icon size for download to EPG Channel. Data type: tuple.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>SMARTY_DEFAULT_ICON_SIZES<\/code><\/h4>\n\n\n\n<p>a list of additional sizes for TV icons. Each value must be a tuple of two integer values. Maximum 3 extra sizes. Data type: list of tuples.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">SMARTY_DEFAULT_ICON_SIZE = (500, 500)<br>SMARTY_DEFAULT_ICON_SIZES = [(120, 91), (40, 40)]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Advertising integration settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_ADS_ENABLED<\/code><\/h4>\n\n\n\n<p>if the value of True in the methods API ChannelUrl and ProgramUrl will return the parameter <code>ads<\/code>. It is necessary for the functionality of advertising blocks and videos in templates that support this. It can lead to a decrease in the performance of Smarty with a large number of users per server. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>ADS_BLOCK_FREQUENCY_INTERVAL<\/code><\/h4>\n\n\n\n<p>sets the maximum time interval of the frequency of display of the advertising unit for one account (frequency is indicated in the Settings of the display of the advertising unit). Indicated in seconds, by default <strong>3600<\/strong> (1 hour).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>ADS_BLOCK_MAX_AMOUNT<\/code><\/h4>\n\n\n\n<p>sets a limit on the number of ad units received, by default <strong>5<\/strong>. <strong>Warning:<\/strong> it is necessary to take into account priorities in setting up advertising blocks.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_ADS_HOST<\/code><\/h4>\n\n\n\n<p>mongoDB server address to collect statistics. By default <strong>\u2018127.0.0.1\u2019<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_ADS_PORT<\/code><\/h4>\n\n\n\n<p>mongoDB server port. By default <strong>27017<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_ADS_NAME<\/code><\/h4>\n\n\n\n<p>database name. By default \u2018<strong>smarty_device_monitoring<\/strong>\u2018.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_ADS_USERNAME<\/code><\/h4>\n\n\n\n<p>user name for authorization. By default \u2018<strong>admin2<\/strong>\u2018.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_ADS_PASSWORD<\/code><\/h4>\n\n\n\n<p>password for authorization. By default \u2018<strong>password2<\/strong>\u2018.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_ADS_PUSH_TIMEOUT<\/code><\/h4>\n\n\n\n<p>timeout for connection. By default <strong>150<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_ADS_AUTH_METHOD<\/code><\/h4>\n\n\n\n<p>authorization method. The authorization method depends on the MongoDB version. By default \u2018<strong>MONGODB-CR<\/strong>\u2018.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>ADS_ADSTREAM_DEVMODE<\/code><\/h4>\n\n\n\n<p>the option allows you to include the return of test commercials from the advertising provider AdStream. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>ADS_ADSTREAM_HOST_REPLACE<\/code><\/h4>\n\n\n\n<p>host of a caching server of commercials for ADStream. Some advertising providers recommend caching videos on the operator\u2019s side to give them to users, for this purpose you can use Nginx, and the new host from which the videos will be given should be registered in this field, so Smarty will automatically replace the host of the advertising provider with a given one. This measure will also avoid blocking ads from browsers.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>ADS_QVOL_HOST_REPLACE<\/code><\/h4>\n\n\n\n<p>host of a caching server of commercials for Qvol. Some advertising providers recommend caching videos on the operator\u2019s side to give them to users, for this purpose you can use Nginx, and the new host from which the videos will be given should be registered in this field, so Smarty will automatically replace the host of the advertising provider with a given one. This measure will also avoid blocking ads from browsers.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>ADS_EPG_USE_CATEGORIES_AS_GENRES<\/code><\/h4>\n\n\n\n<p>for targeting, the advertising provider needs to know which genre is currently transmitted on the channel for which the advertising is requested. In case your EPG provider does not provide genres for programs, you should specify this option with a True value and EPG categories will be used instead of genres. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>ADS_DEFAULT_CITY<\/code><\/h4>\n\n\n\n<p>establishes the default value of the city for advertising. It is necessary to work with external sources of advertising. Used if the account city is not automatically determined. Data type: string.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">ADS_TARGET_BANNER_BIRTHDAY_OFFSET<\/h4>\n\n\n\n<p>A list of the days before and after your birthday when your birthday banners will be available. Format: [days before, days after]. For example: [2, 2] means that the banner will be displayed within 2 days before the subscriber\u2019s birthday and 2 days after.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">ADS_TARGET_BANNER_MAX_HEIGHT<\/h4>\n\n\n\n<p>Maximum banner height in pixels. If the image exceeds the specified parameters, the image will be reduced to the maximum parameters. By default <strong>720<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">ADS_TARGET_BANNER_MAX_WIDTH<\/h4>\n\n\n\n<p>The maximum width of the advertising banner in pixels. If the image exceeds the specified parameters, the image will be reduced to the maximum parameters. By default <strong>1280<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">TVMW_TARGET_BANNER_BIRTHDAY_FORMAT<\/h4>\n\n\n\n<p>The date of birth format in the response of the TVMW API of the AccountTargetBannerList method in the message field. By default <strong>\u2018%d %m %Y\u2019<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Smarty control panel settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_DISABLE_PAGINATION<\/code><\/h4>\n\n\n\n<p>turns off counting the number of objects during pagination in some lists in the admin. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMIDDLEWARE_CHANNEL_AUTOSORT<\/code><\/h4>\n\n\n\n<p>allows you to disable the channel autosort function in Smarty if you set the value []. Data type: list.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_PREVENT_CASCADE_DELETION<\/code><\/h4>\n\n\n\n<p>with the value of True prohibits the removal of objects in Smarty through the Administrator Panel in the presence of subsidiaries associated objects. With a False value, removal of such objects is permitted, but child objects will not be removed. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_ENABLE_LINK_TO_CUSTOMER_ON_ACCOUNTS_PAGE<\/code><\/h4>\n\n\n\n<p>when the value of True on the page of the list of accounts in the administrator panel in the column \"Subscriber\" will display a link to editing the subscriber. Otherwise, just the name of the subscriber. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_SHOW_CONTENT_ALWAYS<\/code><\/h4>\n\n\n\n<p>if the value of True on the pages of subscribers, accounts and devices, the lists will always be disclosed. Otherwise, the lists unfold only after pressing the button. Data type: bool. By default <strong>True true<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>DEALERS_DISPLAY_MANUAL_ACCOUNT_ACTIVATION_DATE<\/code><\/h4>\n\n\n\n<p>includes \/ disables the ability to manually enter the activation date and deactivation in the personal account of the dealer. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>MONGODB_REPORT_TIMEOUT<\/code><\/h4>\n\n\n\n<p>timeout to create reports from the administration panel in seconds. It is necessary to reduce the load on MongoDB. Data type: int. By default <strong>600000<\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><code>BILLING_ACCURATE_SUBSCRIPTIONS<\/code><\/h4>\n\n\n\n<p>when the value of True for created subscriptions must indicate the exact time of creation (otherwise, the time is displayed as 12:00). Available in new billing logic. Data type: bool. By default <strong>False<\/strong>.<\/p>\n\n\n\n<p>Example of settings:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">TVMIDDLEWARE_CHANNEL_AUTOSORT = [\"sort_auto\", \"sort_id\", \"sort_alphabet\", \"sort_user\", \"sort_lcn\"]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Caching settings<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><code>TVMW_USE_TARIFF_LCN<\/code><\/h4>\n\n\n\n<p>an option with which you can disable the formation of a cache of channels with LCN filtering according to tariffs. If the operator does not use channel sorting by LCN, this option can significantly reduce the number of cache. Data type: bool. By default <strong>True true<\/strong>.<\/p>","protected":false},"featured_media":0,"parent":1454,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_links_to":"","_links_to_target":""},"doc_tag":[],"class_list":["post-1525","docs","type-docs","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/smarty-config\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\" \/>\n<meta property=\"og:description\" content=\"\u0414\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Smarty \/etc\/microimpuls\/smarty\/smarty.py \u043b\u0438\u0431\u043e \u0432 \u0432\u0430\u0448\u0435\u043c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0424\u0430\u0439\u043b \u0438\u043c\u0435\u0435\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Python. \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u0432 \u0441\u0438\u043b\u0443, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c uwsgi. \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 uwsgi \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 sudo service uwsgi restart \u041e\u0431\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 DEBUG \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0435 stacktrace \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. \u0422\u0438\u043f [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/smarty-config\/\" \/>\n<meta property=\"og:site_name\" content=\"Microimpuls\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-26T21:57:34+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"23 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config\",\"url\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config\",\"name\":\"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\",\"isPartOf\":{\"@id\":\"https:\/\/micro.im\/#website\"},\"datePublished\":\"2020-10-06T11:02:25+00:00\",\"dateModified\":\"2026-02-26T21:57:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/micro.im\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Smarty\",\"item\":\"https:\/\/microimpuls.com\/docs\/smarty\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 Smarty\",\"item\":\"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/micro.im\/#website\",\"url\":\"https:\/\/micro.im\/\",\"name\":\"Microimpuls\",\"description\":\"\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f OTT \u0438 IPTV\",\"publisher\":{\"@id\":\"https:\/\/micro.im\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/micro.im\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/micro.im\/#organization\",\"name\":\"Microimpuls\",\"url\":\"https:\/\/micro.im\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/micro.im\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png\",\"contentUrl\":\"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png\",\"width\":208,\"height\":219,\"caption\":\"Microimpuls\"},\"image\":{\"@id\":\"https:\/\/micro.im\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"System parameters","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/smarty-config\/","og_locale":"en_US","og_type":"article","og_title":"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b","og_description":"\u0414\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Smarty \/etc\/microimpuls\/smarty\/smarty.py \u043b\u0438\u0431\u043e \u0432 \u0432\u0430\u0448\u0435\u043c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0424\u0430\u0439\u043b \u0438\u043c\u0435\u0435\u0442 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 Python. \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0443\u043f\u0438\u043b\u0438 \u0432 \u0441\u0438\u043b\u0443, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c uwsgi. \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 uwsgi \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 sudo service uwsgi restart \u041e\u0431\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 DEBUG \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0435 stacktrace \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. \u0422\u0438\u043f [&hellip;]","og_url":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/smarty-config\/","og_site_name":"Microimpuls","article_modified_time":"2026-02-26T21:57:34+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"23 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config","url":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config","name":"System parameters","isPartOf":{"@id":"https:\/\/micro.im\/#website"},"datePublished":"2020-10-06T11:02:25+00:00","dateModified":"2026-02-26T21:57:34+00:00","breadcrumb":{"@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management\/smarty-config#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/micro.im\/"},{"@type":"ListItem","position":2,"name":"Smarty","item":"https:\/\/microimpuls.com\/docs\/smarty"},{"@type":"ListItem","position":3,"name":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435 Smarty","item":"https:\/\/microimpuls.com\/docs\/smarty\/configuring-and-management"},{"@type":"ListItem","position":4,"name":"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b"}]},{"@type":"WebSite","@id":"https:\/\/micro.im\/#website","url":"https:\/\/micro.im\/","name":"Microimpulses","description":"Comprehensive solutions for OTT and IPTV","publisher":{"@id":"https:\/\/micro.im\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/micro.im\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/micro.im\/#organization","name":"Microimpulses","url":"https:\/\/micro.im\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/micro.im\/#\/schema\/logo\/image\/","url":"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png","contentUrl":"https:\/\/microimpuls.com\/wp-content\/uploads\/2024\/12\/mi-logo-square-en-black.png","width":208,"height":219,"caption":"Microimpuls"},"image":{"@id":"https:\/\/micro.im\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/comments?post=1525"}],"version-history":[{"count":151,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1525\/revisions"}],"predecessor-version":[{"id":9160,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1525\/revisions\/9160"}],"up":[{"embeddable":true,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1454"}],"next":[{"title":"Service and regular teams","link":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/management-commands","href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1474"}],"prev":[{"title":"Import of EPG and Content Metadata","link":"https:\/\/microimpuls.com\/en\/docs\/smarty\/configuring-and-management\/epg","href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/docs\/1522"}],"wp:attachment":[{"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/media?parent=1525"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/microimpuls.com\/en\/wp-json\/wp\/v2\/doc_tag?post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}