Different types of devices based on models and brands
Often, there is a need to separate device types into models in order to configure the broadcast and service in general differently for different device models. All this time, this function worked according to the algorithm described by here.
In this release, we added a more convenient and flexible mechanism for separating devices into different types by models, brands, user agents and even identifiers.

EPG
The new Sibseti and Redmax interfaces require 16:9 previews instead of 4:3, so the graphics import mechanisms for EpgService have been updated:
- new option added
TVMW_EPG_DEFAULT_ASPECT_RATIO, with which you can choose the ratio for the main preview poster — 4:3, 2:3 and 16:9. - in the transmission import script, the mechanism for selecting the main poster among those provided by EpgService has been changed; now the official posters with the text name of the content are preferred if they are present in XML.
- corrected errors when working script with parameters
-force_reimportand--fix_duplicates.
Full EPG import documentation can be found here.
Video library
Refactoring of scripts of import of films from external cinemas for correct filling of field updated movies, as well as an update to the main posters of the series at the release of the new season.
Premiere
- Optimization of the team importing films from the Premier cinema was carried out, and a new parameter was added
--remove_outdatedto remove outdated films. - Added parsing of the cast for films.
STARTART
- A mechanism for transferring tariff identifiers with START is added to the TVMW API VideoDetail method, which allows you to connect a START subscription by connecting tariffs from the film page.
- In the titles of automatic selections of films from START no longer substring « (START)»
- In the admin on the Subscriber’s page, the work of the subscription verification functionality on the START side is adjusted (required to debug problems when connecting a subscription).


Megogogo
- Integration with Megogo has added support for creating directors and support for Python3.
Kinopoisk API
- Fixed an error in the work of importing film meta using Kinopoisk Unofficial API.
Advertising
This release refined the form of creating an advertising unit added the ability to specify its name for information purposes, and also fixed an unpleasant bug, due to which advertising on devices was requested even if the ad unit is disabled.

In addition, now the module with advertising does not require configured and installed MongoDB, which facilitates its use and reduces the number of points of failure mechanism. Updated documentation here.
Subscription model billing
- Update the script
migrate_to_nbto switch to a subscription billing model. - Added independence to subscriptions — each subscription now has its own renewal date.
- Added a new mode of operation of the subscription model, in which accounts are always active, and the team
check_accountsresponsible only for renewal and closure of subscriptions. - Added the ability to ignore the logic of basicity for subscriptions.
Regular teams
- Team
cache_channel_listadded a new parametercontent_typeit is possible to run separately caching of data of cameras and channels. - New team added
create_channel_election_by_popularityto automatically create a collection «Popular channels ».
Content API
- Methods
EpisodeCreateandEpisode Modifyadded the ability to download preview images of series using the parameterpreview_url.
Billing API
- In response to method
CustomerLista parameter has been added for each subscribermobile_phone_numberand the input parameter was added to the same methodmobile_phone_numberto search for subscribers by phone number. - Methods added
AccountTariffAssignmentandAccountTariffRemoveto connect and disable tariffs to accounts. - Added support for integrations with external theaters for a subscription billing model.
More about the subscription logic of billing can be read here.
TV-Middleware API
- Input parameters added
compactandlimitmethodicallyNoAuthSelectionDetailandSelectionDetailto request the contents of collections in an optimized version. - Now in the method
ProgramCategoryRecordListfor collections with more than 1 entry, the description of the first transfer from the collection is returned, and the return of the position parameter is adjusted. - Methods added
AccountTariffsList,AccountTariffSubscribe,AccountTariffUnsubscribeto manage account rates. - In response to methods
CameraListandSelectionDetailcamera field addedpreview_url. - For the method
VideoListandVideolistNoAuthadded a new possible value for the parameterorder—id. - In response to method
PortalDashboard VideoListfieldedis_season,is_favoritedandthumbnail_big. - Added methods for displaying account devices and their decoupling:
CustomerDeviceListandCustomerDeviceDelete. - In response to method
VideoDetailmassifactionsnow comes a new fieldepisode. - The method has been optimized
ProgramListSearch. - A new parameter was added to the VideoList method
history_only.
Adminka
- Mass mailing of messages to subscribers can now be carried out on the list of mass addresses from the downloaded file:

- A separate right to edit collections for admin users has been added.
- For the tape dashboard « Main menu» appeared item « Radio stations».
- In the forms of creation and filtering, the list of devices has been adjusted.
Other
- Improved logging of some events: payment by saved card and errors in payment in general
- Fixed the Python compatibility error in Astra integration.
- Fixed display of Spectr stream information.
- Fixed incorrect display of PVR record status in case of error.
- For camera objects added field «Identifier in the external system ».