Quick post, purely a bug fix release,

  • Includes 0.4.1 fix invalid picon path hanging the script
  • includes 0.4.1 update service number to use numbers unlikely to be in use by existing sat services
  • includes 0.4.1 leave service number gaps between categories to reduce the effect of playlist additions cause the epg to get out of sync
  • Fixed error for ACE and FLAWLESS users where “:” in category put the box into an infinite loop



42 thoughts on “e2m3u2bouquet 0.4.2

  1. deanochips

    Could i make a request about a future release.

    could you make it so we could choose not to import the VOD stuff into the bouquet, as it make little sense to show it in the EPG.

    personally i am accessing the VOD via the XCplugin app because then you can get all the images & descriptions

    but i have to say great work on the app, its a godsend, doing this manually was a nightmare.


    1. There’s a v0.5-beta version available at https://github.com/su1s/e2m3u2bouquet/releases/tag/v0.5-beta which allows you to disable bouquets (inc. VOD)

    2. Added to the wish list

    3. This is possible in v0.5 using the custom sorting you can disable bouquets (inc VOD)

  2. also an idea/request for future updates. is it possible to have the “tvg-id” to fallback to “tvg-name” or even channel name for when a stream has no tvg-id or using an xmltv that doesn’t match the tvg-id’s of the m3u file

    the script works amazingly and most of my tv guide is full. this would help fill in a few blanks

    1. theres some work going on around this already, look out for Dougs v.05 shortly

  3. The v0.5-beta version available at https://github.com/su1s/e2m3u2bouquet/releases/tag/v0.5-beta has a custom mapping feature that lets you set the tvg-id

    1. un spammed your comments doug… check your email re tvg-id feature

  4. Can someone please help. It pulls in my bouquets but won’t populate an epg. It did work initially, but now it won’t. Not a provider issue either. Thanks

    1. could be the tvg-ids on the panel or it could be epgimporter. make sure its set to download daily and make sure sources are correct

      1. Hi Li@m, thanks for the reply. Yes, all sources ticked and set for daily. It won’t pull in any of the e2m3u2bouquet, just stays at 0 and then stops

        1. not sure then. you sure its ok at server end? all tvg-id’s are assigned and pulling valid epg data?

          1. Sorry, got sorted. I thought I had clear epg on import enabled but It wasn’t. As soon as I enabled it there was no issue. Thanks again.

        2. sounds like the XML TV source is wrong, if you put the URL in firefox do you get the XML tv data?

  5. Is there a way to pause the VOD channels?
    When I stick on a movie, I want to be able to pause it, so I can make a cup of tea.

    1. Not that Im aware of, agree its a PITA

    2. If you have recording working you can maybe start recording it then play back the recording. Other wise your provider may have the XstreamTV plugin available with VOD

  6. Hi.

    Great plugin, and thanks for looking in to sorting out the channel ordering etc…

    Once that job has been completed, next is to look in to making it a fully pledged plugin with an ipk, and gui… 😉

  7. One other thing to mention as well. When it’s reloading the bouquets, it uses the webif. If you have required webif to need user/pass, it doesn’t reload the bouquets. It needs to be in the format of:

    “wget -qO – http://user:pass@ > /dev/null 2>&1 &”

    Any chance of adding an option for webif user/pass to pass as arguments to the program.


    1. other comments a while back indicated wget in busybox doesn’t support credentials

      1. Not sure why others said not working?! On my TM Nano 2 Super, the above works fine for me (I hard coded my user/pass to the script to save me having to manually restart it :p)

  8. Looks like a bug in the code…

    C:\Python27\lib\xml\etree\ElementPath.py:176: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode – interpreting them as being unequal
    if elem.get(key) == value:

    Guess this is due to the channels being non-standard text:


    All the channels that I had in the custom sorted file have not gone where they were supposed to, but instead at the end of the document…


    1. thanks will have a look at

      1. Originally tried the script on my windows, and that’s when error came up. On E2 box, the error doesn’t come up (although takes so much longer to run the script :p)

        1. Can you confirm that everything is working ok on the box itself?

          1. Appears to be working fine 🙂

            One thing that I have come accross though, is maybe, before you do the uninstall script, you want to check that the file is available on the server. My server has had some downtime, so I ran the script to update, and it first ran through the uninstall procedure, then downloaded the script, and found that the m3u couldn’t be downloaded… So it exited, and I was left without all channels…

            1. Noted. Thanks.

            2. I’ve done a test with services containing unicode characters in their name e.g. RTÉ. It doesn’t crash the script but the custom ordering doesn’t work so this will be fixed in v0.5 final

              1. In windows, it didn’t crash the script, but gave the error message…

                On my e2 box, it doesn’t give the error message, but as you said, doesn’t custom sort them. Just places them at bottom of list…


  9. Having an issue with this version and the .5 beta whereas the channel names are all missing the first letter. Is this a known issue?

    1. Figured it out by changing;
      channel = [line.split(‘”‘)[delimiter_category].replace(“:”,”-“).replace(“|”,”-“), (line.split(‘”‘)[delimiter_title])[1:].strip().replace(“:”,”-“).replace(“|”,”-“),
      line.split(‘”‘)[delimiter_tvgid], line.split(‘”‘)[delimiter_logourl]]
      channel = [line.split(‘”‘)[delimiter_category].replace(“:”,” -“).replace(“|”,” -“).replace(“UK -“,””), (line.split(‘”‘)[delimiter_title])[0:].strip().replace(“UK:”,””).replace(“INT:”,””).replace(“USA/CA:”,””).replace(“:”,”-“).replace(“|”,”-“),
      line.split(‘”‘)[delimiter_tvgid], line.split(‘”‘)[delimiter_logourl]]

      ‘[1:].strip()’ changes to ‘[0:].strip()’ , all the other changes on the line are just my personal ones to remove the ugly prefixes

  10. Frustrating I’m sorting this out for a friend, I already have it working perfect on my vu+ duo thanks to suls.
    My friend has the exact same box with the the same image and i’m doing the exact same method i did to get it working on mine following suls steps.

    When i enter the command below via putty ssh it keeps saying NOT FOUND

    ./e2m3u2bouquet.py -n FLAWLESS -u USERNAME -p PASSWORD

    It worked perfect on my own box, anyone any ideas please i would be so grateful. Thanks

    1. Phil I’ve binned your last comment for exposing username and password on the internet

    2. I had the same issue. I just ran the following to get it to work;
      python e2m3u2bouquet.py -n FLAWLESS -u USERNAME -p PASSWORD

      1. Worked perfect thanks m8 🙂

        1. good 😀 can you tell me if you’re having the same issue as I am? The bouquets and channels are all as expected apart from the first letter of each channel is missing. i.e UK: Sky sports 4 is showing as K: Sky sports 4

          1. yeah same issue here m8

            1. We think this only affected FLAWLESS and suls has just pushed a fix to the providers file

          2. we have pushed a fix for this issue, can you run again and see if it is resolved ?

            1. That latest fix has sorted it, cheers fellas

  11. oops what a n+b ive put correct server details by mistake please remove post admin thanks

    1. Brilliant thanks suls m8 appreciated what a tool i am lol

Leave a Reply

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