Kodi Community Forum

Full Version: TV Listings (xmltv)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
plugin.video.tvlistings.xmltv

TV Listings (xmltv)

xmltv TV Listings with catchup playback via Meta4Kodi and live playback via addons.
  • Now/Next/After
  • Channel Listings
  • Programme Search
Install Notes
  • Huge xmltv files will take forever and may run out of memory.
  • Try using WebGrab++ to make smaller xmltv files.
  • I recommend using Super Favourites to organise your favourite channels.
  • Force ini file reload in the Settings if you change addons.ini or myaddons.ini.
  • xmltv file should reload on a file modification difference. It can be forced too.
Source
watch gallery
Hi,

I have my own xmltv that I generate daily, 300 channels on the main one..

Keep getting errors:

Code:
20:49:51 T:4176   ERROR: C:\Program Files (x86)\Kodi\system\python\Lib\urllib.py:1288: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
                                              return ''.join(map(quoter, s))
20:49:51 T:4176   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.KeyError'>
                                            Error Contents: (u'\xc9',)
                                            Traceback (most recent call last):
                                              File "C:\Users\j\AppData\Roaming\Kodi\addons\plugin.video.tvlistings.xmltv\main.py", line 532, in <module>
                                                plugin.run()
                                              File "C:\Users\j\AppData\Roaming\Kodi\addons\script.module.xbmcswift2\lib\xbmcswift2\plugin.py", line 332, in run
                                                items = self._dispatch(self.request.path)
                                              File "C:\Users\j\AppData\Roaming\Kodi\addons\script.module.xbmcswift2\lib\xbmcswift2\plugin.py", line 306, in _dispatch
                                                listitems = view_func(**items)
                                              File "C:\Users\j\AppData\Roaming\Kodi\addons\plugin.video.tvlistings.xmltv\main.py", line 401, in now_next
                                                item['path'] = plugin.url_for('listing', channel_id=channel_id, channel_name=channel_name)
                                              File "C:\Users\j\AppData\Roaming\Kodi\addons\script.module.xbmcswift2\lib\xbmcswift2\plugin.py", line 295, in url_for
                                                pathqs = rule.make_path_qs(items)
                                              File "C:\Users\j\AppData\Roaming\Kodi\addons\script.module.xbmcswift2\lib\xbmcswift2\urls.py", line 160, in make_path_qs
                                                path = self._make_path(url_items)
                                              File "C:\Users\j\AppData\Roaming\Kodi\addons\script.module.xbmcswift2\lib\xbmcswift2\urls.py", line 110, in _make_path
                                                items[key] = quote_plus(val)
                                              File "C:\Program Files (x86)\Kodi\system\python\Lib\urllib.py", line 1293, in quote_plus
                                                s = quote(s, safe + ' ')
                                              File "C:\Program Files (x86)\Kodi\system\python\Lib\urllib.py", line 1288, in quote
                                                return ''.join(map(quoter, s))
                                            KeyError: (u'\xc9',)
                                            -->End of Python script error report<--
20:49:51 T:1140   ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.tvlistings.xmltv/now_next
20:49:51 T:1140   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.video.tvlistings.xmltv/now_next) failed
20:49:52 T:7272 WARNING: [xbmcswift2] No converter provided, unicode should be used, but returning str value
20:49:52 T:7272 WARNING: Previous line repeats 3 times.
20:49:52 T:7272  NOTICE: [xbmcswift2] Request for "/" matches rule for function "index"


Huh
(2016-06-03, 21:54)unlocKing Wrote: [ -> ]Hi,

I have my own xmltv that I generate daily, 300 channels on the main one..

Keep getting errors:

Thanks for finding a bug. Smile It looks like the code is not handling channel names with unicode characters in them properly. Could you post the part of your xmltv file with unicode channel name and I'll see if I can fix it. Something like this I expect:
Code:
<channel id="BBC1">
<display-name lang="en">BBC Onë</display-name>
Here's a partial:

Code:
<channel id="BBC News">
    <display-name lang="en">BBC News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/66.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BBC World News">
    <display-name lang="en">BBC World News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/69.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky News">
    <display-name lang="en">Sky News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/257.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="CNN">
    <display-name lang="en">CNN</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/126.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Al Jazeera">
    <display-name lang="en">Al Jazeera</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/444.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="EuroNews">
    <display-name lang="en">EuroNews</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/140.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Bloomberg TV">
    <display-name lang="en">Bloomberg TV</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/112.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="CNBC UK">
    <display-name lang="en">CNBC UK</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/590.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="ABC News 24">
    <display-name lang="en">ABC News 24</display-name>
    <url>http://www.oztivo.net</url>
  </channel>
  <channel id="FRANCE 24">
    <display-name lang="en">FRANCE 24</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/834.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Deutsche Welle">
    <display-name lang="en">Deutsche Welle</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/503.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="RT">
    <display-name lang="en">RT</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/707.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="FOX News">
    <display-name lang="en">FOX News</display-name>
    <url>http://www.tv.sky.com</url>
  </channel>
  <channel id="MediaCorp CNA">
    <display-name lang="en">MediaCorp CNA</display-name>
    <url>http://www.starhubgo.com</url>
  </channel>
  <channel id="Arirang">
    <display-name lang="en">Arirang</display-name>
    <url>http://www.tv.com</url>
  </channel>
  <channel id="NHK World">
    <display-name lang="en">NHK World</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/610.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports News">
    <display-name lang="en">Sky Sports News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/263.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 1">
    <display-name lang="en">Sky Sports 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/260.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 2">
    <display-name lang="en">Sky Sports 2</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/261.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 3">
    <display-name lang="en">Sky Sports 3</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/262.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 4">
    <display-name lang="en">Sky Sports 4</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/264.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 5">
    <display-name lang="en">Sky Sports 5</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/918.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports F1">
    <display-name lang="en">Sky Sports F1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/736.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Premier Sports">
    <display-name lang="en">Premier Sports</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/715.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport 1">
    <display-name lang="en">BT Sport 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/875.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport 2">
    <display-name lang="en">BT Sport 2</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/877.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport Europe">
    <display-name lang="en">BT Sport Europe</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/967.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport ESPN">
    <display-name lang="en">BT Sport ESPN</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/578.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Setanta Ireland">
    <display-name lang="en">Setanta Ireland</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/366.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Setanta Sports 1">
    <display-name lang="en">Setanta Sports 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/426.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Eurosport 1">
    <display-name lang="en">Eurosport 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/142.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Eurosport 2">
    <display-name lang="en">Eurosport 2</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/400.png" />
    <url>http://www.tvguide.co.uk</url>

I can send you the link where my xmltv is hosted, you can check the complete file from there if that helps?
(2016-06-03, 23:09)unlocKing Wrote: [ -> ]Here's a partial:

Code:
<channel id="BBC News">
    <display-name lang="en">BBC News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/66.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BBC World News">
    <display-name lang="en">BBC World News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/69.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky News">
    <display-name lang="en">Sky News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/257.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="CNN">
    <display-name lang="en">CNN</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/126.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Al Jazeera">
    <display-name lang="en">Al Jazeera</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/444.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="EuroNews">
    <display-name lang="en">EuroNews</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/140.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Bloomberg TV">
    <display-name lang="en">Bloomberg TV</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/112.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="CNBC UK">
    <display-name lang="en">CNBC UK</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/590.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="ABC News 24">
    <display-name lang="en">ABC News 24</display-name>
    <url>http://www.oztivo.net</url>
  </channel>
  <channel id="FRANCE 24">
    <display-name lang="en">FRANCE 24</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/834.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Deutsche Welle">
    <display-name lang="en">Deutsche Welle</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/503.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="RT">
    <display-name lang="en">RT</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/707.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="FOX News">
    <display-name lang="en">FOX News</display-name>
    <url>http://www.tv.sky.com</url>
  </channel>
  <channel id="MediaCorp CNA">
    <display-name lang="en">MediaCorp CNA</display-name>
    <url>http://www.starhubgo.com</url>
  </channel>
  <channel id="Arirang">
    <display-name lang="en">Arirang</display-name>
    <url>http://www.tv.com</url>
  </channel>
  <channel id="NHK World">
    <display-name lang="en">NHK World</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/610.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports News">
    <display-name lang="en">Sky Sports News</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/263.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 1">
    <display-name lang="en">Sky Sports 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/260.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 2">
    <display-name lang="en">Sky Sports 2</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/261.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 3">
    <display-name lang="en">Sky Sports 3</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/262.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 4">
    <display-name lang="en">Sky Sports 4</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/264.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports 5">
    <display-name lang="en">Sky Sports 5</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/918.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Sky Sports F1">
    <display-name lang="en">Sky Sports F1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/736.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Premier Sports">
    <display-name lang="en">Premier Sports</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/715.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport 1">
    <display-name lang="en">BT Sport 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/875.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport 2">
    <display-name lang="en">BT Sport 2</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/877.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport Europe">
    <display-name lang="en">BT Sport Europe</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/967.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="BT Sport ESPN">
    <display-name lang="en">BT Sport ESPN</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/578.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Setanta Ireland">
    <display-name lang="en">Setanta Ireland</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/366.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Setanta Sports 1">
    <display-name lang="en">Setanta Sports 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/426.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Eurosport 1">
    <display-name lang="en">Eurosport 1</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/142.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="Eurosport 2">
    <display-name lang="en">Eurosport 2</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/400.png" />
    <url>http://www.tvguide.co.uk</url>

I can send you the link where my xmltv is hosted, you can check the complete file from there if that helps?

Yes please. These channels are just ascii. Unicode is a bit tricky in Kodi and python. There are lots of conversions including url escape sequences.
I just reread your post, I think you wanted this part:

Code:
<channel id="RTÉ News Now">
    <display-name lang="en">RTÉ News Now</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/717.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="RTÉ One">
    <display-name lang="en">RTÉ One</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/342.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="RTÉ Two">
    <display-name lang="en">RTÉ Two</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/363.png" />
    <url>http://www.tvguide.co.uk</url>
(2016-06-03, 23:14)unlocKing Wrote: [ -> ]I just reread your post, I think you wanted this part:

Code:
<channel id="RTÉ News Now">
    <display-name lang="en">RTÉ News Now</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/717.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="RTÉ One">
    <display-name lang="en">RTÉ One</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/342.png" />
    <url>http://www.tvguide.co.uk</url>
  </channel>
  <channel id="RTÉ Two">
    <display-name lang="en">RTÉ Two</display-name>
    <icon src="http://my.tvguide.co.uk/channel_logos/363.png" />
    <url>http://www.tvguide.co.uk</url>

Yep thanks thats the tricky one: É.
Just a warning though. 300 channels is probably going to be painful on most systems. I need to do a lot of optimisation for that much data.
I currently have it working smoothly on an addon I've been working on, tried send you a PM.. won't let me?
(2016-06-03, 23:23)primaeval Wrote: [ -> ]
(2016-06-03, 23:22)unlocKing Wrote: [ -> ]I currently have it working smoothly on an addon I've been working on, tried send you a PM.. won't let me?

There is a minimum number of posts before a PM.
Makes sense!
(2016-06-03, 23:26)unlocKing Wrote: [ -> ]Makes sense!

You need 5 more posts. Want to play post ping pong?
Haha!
Sure, why not!
Unicode channel ids is going to take a while to sort out as I use them for file names internally.
Pages: 1 2