[Plugin] E2m3u2bouquet

There are 149 replies in this Thread which was already clicked 171,787 times. The last Post () by pepsik.

  • UPDATE 1.0.58


    1) Minor code changes when parsing and "traversing" XMLTV records to save RAM.

    2) Fixed import of events from XMLTV, in Py2-based images, the channel_id of which is not set in Latin1 encoding.

    3) Fixed sorting of channel and group names in natural alphabetical order in Py2 based images

    4) Changes have been added to the code regarding the use of the specified XMLTV in the EPG url field of the provider's settings. This field should be left empty if the playlist you are using contains tvg-url or epg-urg tags with a specified link for XMLTV. If you specify a link to XMLTV in this field, the plugin will automatically match and select events from the XMLTV you specified. The plugin will find the most appropriate "display-name" tag value names with the channel name from the playlist being used. If the XMLTV specified by you contains links to channel picon in the "icon" attribute values, then you can specify their use in the settings by specifying "Yes" in the "Get by links from the specified XMLTV source" submenu. With this submenu, you can choose between using picon from links in a playlist or from links in XMLTV. The best result of auto-selection of EPG events and picon will be achieved when using XMLTV recommended by your IPTV provider. If you do not have the XMLTV recommended by your provider, then I strongly recommend using the multivariant XMLTV of your region. Multivariant XMLTV contains multiple variants of the same channel name in "display-name" tags. The more different channel name options will be contained in XMLTV, the higher the probability of finding matches with channel names in the playlist used.

    Multivariant XMLTV example with picon links:

    This functionality is mainly designed to use playlists found in the public domain in which there is no information to link to the EPG source, except for channel names.

    The most popular multi-variant XMLTV for Slavic countries in order of the largest number of channels and their naming options:

    Code
    http://epg.it999.ru/epg2.xml.gz
    https://iptvx.one/epg/epg.xml.gz

    But in principle, you can use the XMLTV of any IPTV provider containing the channels you need and links to picons


    p.s

    Added fix for those using ****-override.xml . Who downloaded before 31/01/2022 22:00 GMT ... download again

  • UPDATE

    1.0.59


    1) Added the most aggressive RAM saving when parsing data from xml (mainly for xmltv). This makes it possible to "rake" xml files of any size on hardware-weak SatTop Boxes without any "hangs"

    2) Added support for exotic variants of xmltv packed in zip (epg.xml.zip ... yes ... there are also such "unique" IPTV providers :exploding head: )

    3) Added installation of necessary python dependencies if they are not present in the used image

    4) Small changes in the display of the current status


    Before installing this version, be sure to remove any previously installed! You can not install "over" the previously installed! After a complete uninstall, make sure there are no config.plugins.e2m3u2b.**** entries in /etc/enigma2/settings

    Code
    init 4
    sed -i '/config.plugins.e2m3u2b/d' /etc/enigma2/settings
    init 3

    Don't forget to save your config.xml before a full uninstall!


    p.s. FIXED crash on startup (5:00 GMT 08/02/22) ... redownload, --force-reinstall

    p.s. FIXED the inability to save the name of the provider when entering from the remote control (15:00 GMT 08/02/22) ... redownload, --force-reinstall

    p.s. FIXED ability to save "yes/no" for loading picons from XMLTV source (15:30 GMT 09/01/22) ... redownload, --force-reinstall

    p.s. FIXED handling of 'Content-encoding: gzip' headers when downloading XMLTV (13:00 GMT 12/02/22) ... redownload, --force-reinstall



  • UPDATE

    1.0.60


    1) Add support for images based on Python 3.10 (OpenATV 7.1, OpenBH 5.1, etc.)

    2) Fix for parsing playlists in utf-8-sig encoding

    3) Minor code reorganization


    p.s. [20/02/2022 7:00 GMT] Added parsing of "start" and "stop" dates of events given without UTC offset. Sometimes local IPTV providers set the date in XMLTV in this format. Previously, such dates were ignored, now everything is processed normally ... redownload... --force-reinstall

  • UPDATE

    1.0.61


    1) Now, when a provider is deleted from the "card", all bouquets, config entries, and all channel picons of this provider are deleted (previously only config entries were deleted)

    04027b79.webp


    2) Minor code optimization


    p.s. [06/06/22] Small fix for latest foxbob imiges added

  • UPDATE

    1.0.62


    1) Fixed crash when calling plugin from the add-on menu

    2) Added support for decoding m3u playlists in various common encodings such as 'windows-1251', 'cyrillic', 'macgreek', 'latin5', 'macturkish' e.t.c ~30-35 encodings in total.

    3) Fixed/added the ability to parse values containing a comma for local tags of the #EXTINF directive. For example

    Code
    group-title="1, Sport"
    tvg-name="BBC, UK"
    e.t.c

    Previously, with such values, the parser worked incorrectly... Now - everything is fixed

    4) Minor code reorganization related to the reorganization of the order of installation and loading of the necessary Python dependencies


    ENJOY! :star struck:


    p.s. [18/06/22 9:00 GMT]

    Changes have been made to the parser of m3u-playlists, taking into account the duplication of various lines. This is observed in playlists downloaded from various telegram channels or inattentively collected manually from various sources. Redownload ... --force-reinstall

  • UPDATE

    1.0.63


    1) Slightly optimized m3u parser code

    2) Changed priorities for archive "depth" tags in days if there are several of them in the #EXTINF directive (used in my IPTVArchive plugin)

    3) More neatly written module "branding" is used to define various information about STB

    4) Fix IT & DE locales

  • UPDATE

    1.0.64


    1) Fixed EPG event import for images without twisted.python.runtime.supportsThreads

    2) In skins, instead of color aliases, colors are now set in #aarrggbb format to prevent crashes on prehistoric images

    3) Fixed for VTi images ...

    4) zh_CH locale added
    es

  • UPDATE

    1.0.65


    Restored the functionality of customizing the generation of bouquets based on the override.xml template file


    p.s. A description of the use can be found at this link - RE: E2m3u2bouquet Plugin


    [19:00 GMT 09/07/2022] Fixed import events for non Latin-1 encodings ... Redownload... --force-reinstall

  • UPDATE

    1.0.66


    1) Fixed skin loading for images with custom skins of this plugin

    2) When creating "All channels bouquet" the name bouquet will match the name of the provider and will be created without the phrase "All channels-"

    3) Added creation of the ***-diff-override.xml file that contains new broadcasts in the m3u-playlist of the provider in relation to the used ***-sort-override.xml. This file allows you to track changes in the provider's playlist. It is created only when new broadcasts appear in the m3u playlist. The data of this file can be used to manually edit (add) broadcasts to the current ***-sort-override.xml


    p.s. How to use ***-sort-override.xml - RE: E2m3u2bouquet Plugin

  • master G

    Changed the title of the thread from “E2m3u2bouquet Plugin” to “[Plugin] E2m3u2bouquet”.
  • UPDATE

    1.0.67


    Added filter for unwanted categories. You can edit and define unwanted categories yourself in the "m3ufilter.conf" file. This file will appear in the plugin configuration folder after generating bouquets. In order to enable the filter, you need to enable the corresponding option in the IPTV provider card. By default, two sections are created in m3ufilter.conf for categories united by "semantic" value. The number of sections is not limited and can be created by the user according to his needs, by analogy with existing ones.


    p.s. m3ufilter.conf logic can be extended to any reasonable functionality in the future.


    [15:30 GMT] Fixed file naming logic for XMLTV when the server responds with "Content-Encoding": 'gzip' ... Redownload... --force-reinstall

    [19:00 GMT] Fixed m3u parser in terms of recognizing channel names with a single quote (Oh that beautiful French!) ... Redownload... --force-reinstall


  • UPDATE

    1.0.68


    1) Fixed Ukrainian locale

    2) The logic of generating the ***-diff-override.xml file has been changed. Now, if a category in ***-sort-override.xml is set to enable="0", then new channels in it are not analyzed and are not included in the ***-diff-override.xml file. It is believed that if the user has deliberately disabled a category, then it makes no sense to analyze channel changes in it. Thus, the ***-diff-override.xml file will only include channels of those categories that are not in ***-sort-override.xml or are marked in it as enable="1"


    [07:00 GMT 20/07/22] A small fix to remove "tails" userbouquet.***.tv.del and a small code optimization. Redownload...--force-reinstall

  • UPDATE

    1.0.69


    1) The logic of working with "downloadable" files has been completely redesigned. There is no binding to the file name or its extension. Uploaded files are parsed based on a "magic number" and then the content is determined to be a valid XML structure. This solution allows using any links for XMLTV, for example,

    Code
    http://example.com:8087/xmltv.php?username=USER&password=PASS
    http://example.com/api/xmltv.xml.7.2
    http://example.com/epg.xml.gz?token=123456789
    http://example.com/provider.epg
    http://example.com/epg.xmltv.gz
    http://example.com/epg.xmltv.xz
    http://example.com/epg.xmltv.zip
    http://example.com/EPG

    2) Playing around with the epg.db wrapper code for a more stable import (for DreamOS images only!). Now you can even turn off the power "on the go" (during import) and no data will be lost or "corrupted"

    3) Minor optimization of the m3u parser code

    4) Minor logging changes


    The configuration files generated by this version for EPGImport are not compatible with the original EPGImport code. In case of shared use, it is necessary to install my EPGImport MOD - RE: [Plugin] EPG Import mod from Dorik1972

  • UPDATE

    1.0.70


    1) Bouquet filenames generated by this plugin have been changed

    2) Reorganized the structure of folders and files in the plugin data folder

    3) Updated all libraries used by this plugin to the latest versions available for shared use in Python 2/3

    4) Added support for the JTV format (PDT and NDX files) for the EPG. This EPG format is used by some local IPTV providers. It is also quite popular in Poland. Tested on the following sources:

    Code
    Teleguideinfo__http://www.teleguide.info/download/new3/jtv.zip
    Iformula_______http://iformula.ru/IPTV/tvprogramm/jtv.zip
    Triolan________http://triolan.tv/App_Files/jtv.zip
    Matrixhome_____http://iptv.matrixhome.net/jtv/dn/epg_jtv.zip
    2kom___________http://2kom.tv/jtv.zip
    Idcmd__________http://iptv.idc.md/files/jtv.zip
    Spark__________http://spark-tv.ru/jtv.zip
    Avianetwork____http://avianetwork.ru/tv_list/jtv.zip
    ProgramTV______http://programtv.ru/jtv.zip


    p.s. To upgrade to this version:

    1) Backup config.xml from plugin data storage folder

    2) Menu - Reset Bouquets - Yes

    3) Install a new version of the plugin

    4) Restore config.xml from backup

    5) Create bouquets

    6) Enjoy!

  • UPDATE

    1.0.71


    1) Fixed remembering links in the "file://" scheme when entering from the virtual keyboard in the provider's card

    2) Fixed/added the ability to "recognize" XML files in 'UTF-8-BOM' encoding. For example:

    Code
    https://raw.githubusercontent.com/bebawy6/EPG/master/allEPG.xml

    3) Fixed handling of XMLTVs packed in ZIP. For example:

    Code
    http://tvg.mymagic.tv/tvg.zip


    p.s. [24/08/2022 GMT 19:00 ]. Added a branding module to the installation packages, due to which the version did not work

  • UPDATE

    1.0.72


    1) Fixed "database malformed" for DreamOS-based images. This error almost always occurred if you set "Start import EPG after loading bouquets" in the plugin settings. No more problems

    2) Small reorganization of the code + added logging of what is happening =)

  • UPDATE

    1.0.73

    (DreamOS special edition)


    1) The ability to select "eServiceStream" (8739:0:) player in the provider card has been fixed. Now this type of player is only available on images based on DreamOS versions >=4.4

    2) Completely rewritten SQL-wrapper to interact with epg.db when updating EPG. Now everything works as it should :smiling face with halo:

    3) Updated Italian locale (special thanks for @mapi)


    Enjoy !

  • UPDATE

    1.0.73.1

    (DreamOS special edition part 2)


    Reading documentation - works wonders :exploding head: (https://www.sqlite.org/docs.html)

    1) Changed SQLite server parameters on opening epg.db, thanks to which the speed of importing EPG events in new (fresh) epg.db has increased by 100% compared to the previous version (1.0.73)

    2) Now only new events are added to the existing database, i.е. only those that are NOT in the existing EPG. Thanks to this logic, we have a 150-200% increase in the speed of importing events on the existing database compared to the previous version (1.0.73)

    3) When "closing" the database after adding events, we do "VACUUM" which allows us to significantly reduce the size of the epg.db file, especially noticeable when the EPG file is > 100Mb

    4) Fixed a theoretically possible error when adding an event with a short description (title) longer than 240 characters. Under certain circumstances, such events might not fall into the EPG database.


    p.s. At the moment, the speed of importing XMLTV events on my DM900HD is almost comparable to the speed of importing the same events of the same XMLTV on VU+ Ultimo4K


    ENJOY !

  • UPDATE

    1.0.74


    1) A bunch of little things have been fixed due to which some of the events from XMLTV could not get into the EPG.

    2) Added "analysis" of the validity of received events from XMLTV. Now any "garbage" that occurs due to errors in the formation of XMLTV by the provider does not get into the EPG.

    3) The logic of the XMLTV parser has been completely changed... now we analyze one event ahead... which makes it possible to form the correct event tuples for a group of channels.

    Previously, events were parsed into the following "structure":

    Code
    ([service, service, ***], ((event)))

    Now so

    Code
    ([service, service, ***], ((event), (event), (event), ***))

    This allows the full use of the enigma.eEPGCache (epgcache.cpp) C code if it supports the ImportEvents method. For a group of channels, a group of events is now transmitted, and not just one event as before... As a result, on the nodes "programme" ordered by "channel" in XMLTV, we get an increase in the speed of importing events.

    4) Parsing the values of all tags of the "programme" node in XMLTV is now done in "one pass".

    5) Added support for "multi-language" XMLTV ... and not only in the XMLTV parser, but also in import to epg.db for DreamOS...

    Judging by the structure of the database (epg.db), this is clearly supported there (an analogy can be drawn with different audio tracks for the same broadcast). In OE versions<2.5 multilingual EPG is not supported and priority is given to events whose language matches the locale of your Enigma2

    6) In SQL-wrapper (only for DreamOS) added "UPDATE" of event descriptions imported earlier ...

    For example:

    On Mon morning you imported EPG 3 days in advance and in it, for some channels, there were no descriptions, and on Mon evening - the provider updated its XMLTV and added descriptions ... so... now if you update the EPG again after that, for example on Tuesday morning, then the descriptions for existing events will be updated.

    7) Returned back journal_mode = "DELETE" for SQLite. Now working with the SQL database is exactly the same as in the C code on DreamOS.

    8) I changed the code so that I removed two files altogether... They turned out to be superfluous "crutches" ... Due to this, there is one less "intermediate" generator.

    9) Added "pop-up" notifications... cool little stuff... will pop up in the upper right corner of the screen...

    10) Fixed a bug with the appearance of channels marked as enabled="0" in the ***-diff-override.xml file in the "custom" sorting mode.

    11) The logic of working with "hidden markers" has been completely removed. Now in userbouquets the strings "519:1" or "832:d" that are incomprehensible to many users will be removed.


    ENJOY!


    p.s. Special thanks to @YC78 for tests on DreamOS and an impressive donate

  • UPDATE

    1.0.75


    1) Fixed an annoying typo in the code that caused a crash when trying to save the log file

    2) Minor changes to the XML iterator, giving a gain of 1-2 seconds for every 100,000 records processed

    3) Slightly updated the design of the regular skin. More strict and concise.

    4) The algorithm for auto-selection of EPG events by channel name has been redesigned. Now, if after preliminary analysis no exact match is found among the candidates, the Damerau-Levenshtein algorithm for finding the greatest match based on an iterative version of the Wagner-Fischer algorithm is applied (this works if and only if the EPGurl link is set in the provider settings.) - Theory - Optimal Wagner-Fischer Algorithm For Approximate Strings Matching

Your resource for Enigma2 IPTV plugins

Discover the best Enigma2 IPTV plugins. Access downloads and dedicated support for integrating live TV streams and video-on-demand services. Find downloads, setup guides, and community support for the latest streaming players and playlist managers.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!