UPDATE
1.0.76
Fixed "segmentation fault" error that occurred on DreamTWO (OE2.6) after importing EPG events ... Theoretically, it could also occur on other versions of OE ... but so far it has not manifested itself
UPDATE
1.0.76
Fixed "segmentation fault" error that occurred on DreamTWO (OE2.6) after importing EPG events ... Theoretically, it could also occur on other versions of OE ... but so far it has not manifested itself
UPDATE
1.0.77
1) Fixed m3u playlist parsing error when using an automatic selection of EPG events by channel name, which sporadically occurred on some variants of m3u playlists
2) "Playing" with EPGImport code... Now the code is as compact as possible, as understandable as possible, and more "twisted"ly =) and works with the same import performance regardless of the logic used ... be it twisted.reactor.doRead or twisted.internet.threads.deferToThread . The speed of importing EPG events depends only on the performance of the processor of your SAT-box and the speed of reading / writing to the storage device (HDD / USB / Internal Flash)
3) Slightly supplemented and reorganized the output of logs for greater informational content of what is happening
4) Refreshed Italian locale
ENJOY!
UPDATE
1.0.78
1) Fixed the appearance of the "names.client" error for images with the old or truncated twisted library (Merlin, Pure2, e.t.c.)
2) The functionality of xml_escape and xml_unescape for XML files has been completely rewritten. Instead of the previously used xml.sax.saxutils module, precompiled rules for regexp, and the name2codepoint module are now used. This increased both the speed and quality of processing. Often, the descriptions of programs in XMLTV contained HTML tags that got there due to poor parsing by the provider of HTML resources with descriptions of programs ... Now, thanks to name2codepoint, unescape of program descriptions is much cleaner and more accurate ... taking into account the unescape of all possible XML and HTML tags
3) For images with threads.deferToThread support (90% of existing images), no temporary files are almost ever created now. All operations for downloading and processing any data occur in the RAM-"pipe". Temporary files will be created automatically if and only if there is not enough free RAM to store and process data... moreover, they will be created on the media with the largest available free space. Information about available RAM and the amount of cached data is displayed in the log. Storage and processing in RAM - eliminates slow read/write operations on any media. Operations in RAM are a priori the fastest!
4) Any operations of parsing m3u or XML files are done on the basis of "generators". Generators in python are the fastest and least "gluttonous" functions both in terms of CPU and RAM resources
ENJOY!
p.s. [11/10/22 6:00 GMT] Fire-fix for DreamOS epg import events
UPDATE
1.0.79
1) Fixed a memory leak when using the EPG event auto-detection algorithm by the channel name from the playlist (if the EPGurl link is set in the provider's card). This resulted in the overloading of some "weak" SAT-boxes on some providers
2) A part of the Damerau-Levenshtein algorithm code has been slightly optimized... Now the "difference" of strings is searched much faster
ENJOY!
UPDATE
1.0.80
1) Fixed crash log for VTi images
2) Slightly reworked the EPG auto-selection algorithm by channel name to improve the accuracy of its work
3) htmlentitydefs is included as a module and the plugin no longer requires this dependency to be installed
4) Once again, the algorithm for importing EPG events has been slightly redesigned. Fixed python bugs to work correctly with ZIP archived EPGs.
p.s. [30/10/22 04:30GMT] Fixed parsing of EPG given in plain (not zipped) XML... redownload ... --force-reinstall
UPDATE
1.0.81
1) Plugin menu icons changed. Minor changes in built-in skins
2) Changed how "available" RAM is determined to be compatible with older SatTop box (like DM7020HD) cores when importing EPG events
3) Fixed the ability to select the /etc and /home folders when specifying the location of the plugin configuration files
4) Partially modified log messages
5) Refreshed Italian locale (thx mapi )
ENJOY!
UPDATE
1.0.82
1) Added support for experimental (develop) images on Python 3.11 (OpenVision, OpenPli, e.t.c.)
2) Reorganization of code according to PEP8 requirements
3) Minor logging changes
p.s. Experimental images are not stable and contain many errors. Before installing the plugin on images based on Python 3.11, be sure to have the /usr/bin/ python symlink associated with python3.11 !!!
UPDATE
1.0.83
Minor changes in client IP detection
UPDATE
1.0.83.1
1) Increased user IP detection time.
2) Changed the request for obtaining ISO693-3 codes for DreamOS-based images
UPDATE
1.0.83.2
Fixed DNS Resolver crash after fully rebooting, which appeared mainly on Python3-based images.
UPDATE
1.0.84
1) Fix for BlackHole 3.0.x images
2) A small change in the EPG importer code part
UPDATE
1.0.85
1) Fixed m3u parser to handle "catchup-time" tag correctly. In some cases, this error led to the impossibility of parsing m3u playlists, displaying a log error about a data type mismatch
2) Fixed a small annoying inaccuracy in the EPG parser. Now the import of event events is much faster due to the exclusion of channel events that are not in the m3u playlist you use.
3) Support for "gzip, deflate" HTTP compression has been added to the EPG importer, which in some cases can significantly reduce the amount of data received, and therefore speed up the download of the necessary files
Merry Christmas & Enjoy using the plugin!
UPDATE
1.0.86
Fixed the "dimension" of the value of the dvb_event_id parameter when adding epg.db entries in DreamOS . Descriptions of future events will now be displayed in the "EPG Selection" skin on any DreamOS images.
p.s. I strongly recommend that you delete the existing epg.db database on DreamOS before generating bouquets / EPG
UPDATE
1.0.87
1) Slightly optimized date parsing algorithm in XMLTV
2) Added filters for normalizing punctuation marks, various unicode characters that in most images are not displayed in skins, double spaces, various html-tags e.t.c. when parsing XMLTV data
3) Added check of "if-modified-since"/"Last-Modified" headers when processing channels picons. Now if the picon file has changed on the provider's server, it will be re-downloaded (This option increases m3u parsing time, not critical, but it does increase. It all depends on the number of picons and the speed of your Internet connection. If you do not need to constantly check for picons file changes- just "off" - "Download picons" after you have downloaded them once)
4) In the "custom" sorting mode, the ability to change the "player" for individual channels, other than the default one for the provider, has been added. To do this, you need to set its numeric value for the "reftypeOverride" tag in the template file (***-override.xml) of your provider. The following values are allowed: 5001 (gstplayer), 5002 (exteplayer3), 4097 (gstreamer), 1 (dvb) . Replacing the "player" (reftype) will work if and only if the player you specified is installed in the image you use
For example:
p.s. If you used ****-override.xml before and don't want to re-create it for the current change, just convert it with sed
The functionality and purpose of template files can be found here - RE: [Plugin] E2m3u2bouquet
UPDATE
1.0.88
1) The range of unicode characters filtered in the names of groups, channels, and descriptions has been expanded ... Many E2 images simply do not display all sorts of "hearts", "tambourines", "diamonds" and other "garbage". Therefore, "filtering" all
2) Optimized the check "whether the picons have changed on the provider server" ... now it works a little faster ...
3) Removed the output in the message log when redefining the player
4) Slightly optimized the m3u parser code and ***-sort-override so that there are fewer string conversions from str to unicode and vice versa .. now, regardless of the python version, we always get "str" when parsing and work with this data type
5) A little speeded up the EPG parser .... but it gives a speed increase only on python 3.11-based E2 Images ... on the rest, it will remain as it was
UPDATE
1.89
1) Fixed spontaneous freezes and interrupting the event import when importing EPG for some users
2) Fixed display of specified values in the provider card when changing player parameters (exteplayer3, gstplayer)
3) Thoroughly rewritten EPGImport code. More aggressive RAM saving. The code is maximally asynchronous. Added more logging of any non-standard situations and current actions.
p.s. This version of the code for EPGImport will become the basis and will be transferred to my EPGImport plugin mod for any E2 images
Special thanks to
jeepcook , for testing the changes on his "crazy"-huge playlists (300K+ records) and for patience
YC78, huge donations of the project and testing on playlists of the most common IPTV providers, and new features of the IPTVArchive plugin
UPDATE
1.0.90
1) Fixed all the shortcomings, errors, and inaccuracies known at the time of publication of this version, which was published by users on various forums and in personal correspondence with me
2) Completely redesigned plugin GUI. All settings are now available in the "Configuration" menu. The "Configuration" menu has been significantly improved and provides various options for "fine" tuning the plugin to suit your desires
3) Algorithm of "serviceref" formation has been changed to meet the wishes of users when using "***-sort-override" templates ... I strongly recommend that you delete the picons created by this plugin and the epg.dat file before installing this version
4) This version is "Donationware" ... The basic functionality of the plugin, starting from this version, is limited to the ability to use the plugin with one provider and create bouquets containing no more than 300 channels. Everyone who has made a donation (ever) to the development will receive a key file that removes any restrictions
p.s. [11/04/23 14:59 GMT] Fix Fixed typo in 1080p skin
UPDATE
1.0.91
1) Fully fixed for VTi images
2) Added "sweetness" for lazy people Now if the keyboard is called when editing paths or links, then the ENG layout is automatically set
3) FR locale updated
UPDATE
1.0.92
1) Fixed file selection for OpenATV 7.0
2) The menu in the provider card has been reorganized. Added all locale translations
3) Removed plugin dependency on OpenWebIf plugin and creation of configuration files for CrossEPG and EPGImport. The plugin can work with EPG by itself much better than the listed plugins and does not require additional "crutches" ... Moreover, the rejection of support for CrossEPG configuration files allows us to work with https directly and avoid unnecessary additional EPG downloads using the https scheme.
4) Removing the dependency on OpenWebIf allows the plugin to be used on very ancient receivers (such as GI S8120, U2C S+mini, GI HD Slim 2+, etc.) with very early (or very "custom") versions of E2 images, in which there is simply no OpenWebIf.
5) Removed obligatory dependency on PIL (Python Imaging Library) ... Now if you don't have it in your image, you can still download channel piсons.
6) For users using ***-sort-override.xml templates, when new channels appear in the provider's broadcasting grid, in addition to diff-override, a bouquet will be created with "new" channels for channels that are not in the template ... This bouquet will be created until the user moves new channels from diff-override to the right place in the sort-override template
7) The ability to override tvg-id has been added to the sort-override template ... To do this, you need to set the channel id value you need in tvgidOverride , similar to nameOverride or reftypeOverride
8) A few other code optimizations... and the removal of previously used python dependencies
p.s. [23/04/23 09:00 GMT] A small update "on fly"... Added a preliminary check for the presence (accessibility) of links (files) of the m3u source before starting any "manipulations" on "download", "parsing", etc... if the source is not available, then display "arrividerci" (it) to the log and proceed to the processing of the next provider in the list without any "delays" .... use --force-reinstall to upgrade already existing version
UPDATE
1.0.92.1
1) Updated and fixed IT, RU locales
2) A small fix in determining the "availability" of playlists specified in the provider settings
3) Minor reorganization of plugin menu code
Don’t have an account yet? Register yourself now and be a part of our community!