OK been a couple of weeks but we have been busy.

Latest version of the script is now available below or from the home page, goto the home page for install instructions etc.

The script has come on a bit and is starting to be a bit more mature, some 500 lines of code compared to the initial release at 100 lines.

We are also now a team of 2! so kudos to Doug Mackay for doing at least half the coding on this release, also to Jose Sanchez for supplying the code for the picon support.

So changes this time

  • m3u file parsing updated ..
  • create single channels and sources list for EPG-Importer. Only one source now needs to be enabled in the EPG-Importer plugin (much quicker)
  • Added Picon download option (thanks to Jose Sanchez for initial code and idea)
  • Added custom bouquet ordering
  • Better command line arguments setup and processing
  • Mutli VOD by default
  • Named provider support (currently FAB, ULTIMATESPORTS and EPIC)
  • Delimiter options for user defined parsing of the m3u file (this means other format m3u files can be used with the script)

This means the command line options have changed again, they will remain static now,

So for the lucky FAB, ULTIMATESPORTS or EPIC people you can now run the script as follows

./e2m3u2bouquet.py -n FAB -u username -p password 

./e2m3u2bouquet.py -n EPIC -u username -p password 

Others need to run in a similar fashion to before but with the following options

./e2m3u2bouquet.py -m "http://stream.fabiptv.com:25461/get.php?username=USERNAME&password=PASSWORD&type=m3u_plus&output=ts" -e "http://stream.fabiptv.com:25461/xmltv.php?username=USERNAME&password=PASSWORD"

If any other providers want to be added to provider support just get in touch, happy to add others.

For information on picon support / custom bouquet sorting or specifying delimiter options for parsing other m3u file formats etc see the e2m3u2bouquet home page but for reference the full list of options is as follows.

usage: e2m3u2bouquet.py [-h] [-m M3UURL] [-e EPGURL] [-d1 DELIMITER_CATEGORY]
[-u USERNAME] [-p PASSWORD] [-i] [-s] [-P]
[-q ICONPATH] [-U] [-V]

e2m3u2bouquet.e2m3u2bouquet -- Enigma2 IPTV m3u to bouquet parser

Copyright 2017. All rights reserved.
Created on 2017-06-04.
Licensed under GNU GENERAL PUBLIC LICENSE version 3
Distributed on an "AS IS" basis without warranties
or conditions of any kind, either express or implied.


optional arguments:
-h, --help show this help message and exit
-i, --iptvtypes Treat all stream references as IPTV stream type.
(required for some enigma boxes)
-s, --singlevod Create single VOD bouquets rather multiple VOD
-P, --picons Automatically download of Picons, this option will
slow the execution
-q ICONPATH, --iconpath ICONPATH
Option path to store picons, if not supplied defaults
to /usr/share/enigma2/picon/
-U, --uninstall Uninstall all changes made by this script
-V, --version show program's version number and exit

URL Based Setup:
-m M3UURL, --m3uurl M3UURL
URL to download m3u data from (required)
-e EPGURL, --epgurl EPGURL
URL source for XML TV epg data sources
Delimiter (") count for category - default = 7
Delimiter (") count for title - default = 8
Delimiter (") count for tvg_id - default = 1
Delimiter (") count for logourl - default = 5

Provider Based Setup:
Host IPTV provider name (FAB/EPIC) (required)
-u USERNAME, --username USERNAME
Your IPTV username (required)
-p PASSWORD, --password PASSWORD
Your IPTV password (required)


11 thoughts on “e2m3u2bouquet 0.4

  1. Kamrul Islam

    When you reload the bouquets does it work if i have credentials on for the webif?

    1. Honesty not sure, rebooting the box is the other way to be sure

      1. Chris Scott

        The version of wget within busybox on openvix (vuduo2) does not support passing credentials 🙁 disabled mine for now, but if anyone is aware of a more fully featured version of wget, or a wget alternative then that would be handy

  2. Chris scott

    Hi, great work so far, however have found a bug when there is a “:” in the category name (problem is with Ace). As “:” is not a valid file name it causes the script to create the .tv file with a random file name, but still references the correct file name with the “:” in bouquets.tv file. This is causing enigma2 to get in a crash loop on my box.

    If the script could account for that it would be appreciated!

    Also a feature request, the ability to supply a csv file where I could match a channel name, and then have the script replace the service reference and details, so I could use the satellite epg data for UK channels, and totally swap out FTA channels for the satellite version


    1. Hi Chris, Ive pushed a fix into github, could you test and let me know if it resolves the issue, Dougs working on channels stuff currently

      Try this file https://github.com/su1s/e2m3u2bouquet/blob/master/e2m3u2bouquet.py


      1. Chris Scott


        yep, appears to work correctly now, thanks for the quick fix!

        1. Cheers Chris !

  3. Getting this error, anyone know what it means?

    Traceback (most recent call last):
    File “e2m3u2bouquet.py”, line 18, in
    from PIL import Image
    ImportError: No module named PIL

    1. hi Sam, try this

      With OpenPli you may need to install a few extra packages. Telnet to the box and run the following

      opkg update
      opkg install python-image python-imaging

      1. Thanks suls.

        Updated but now getting this:

        Traceback (most recent call last):
        File “./e2m3u2bouquet.py”, line 21, in
        from argparse import ArgumentParser
        ImportError: No module named argparse

        1. Seemed to have fixed using easy_install argparse


Leave a Reply

Your email address will not be published. Required fields are marked *