Kodi Community Forum
Beta Youtube Library - Printable Version

Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Video Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=154)
---- Thread: Beta Youtube Library (/showthread.php?tid=246110)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23


RE: Youtube Library - scott967 - 2016-01-13

I hope I'm not being a pest. I see when a playlist is set up, the folder and episode filenames that get created in the Streams\TV (at least on windows 7) have all the unicode characters replaced with underscores. That's not so bad with the filenames, as they are prepended with season/episode so they are unique within the playlist folder. But the playlist folder itself doesn't have this so after adding a channel/playlist written in Hangul (Korean) script for example, the folder name is just "___" which doesn't work so well.

Appears to be due to dev.legal_filename() using the \w class in re.sub() which I think only matches ascii characters by default. AFAIK all platforms should be able to handle unicode in paths and filenames.

scott s.
.


RE: Youtube Library - rsquared - 2016-01-18

I'm loving this addon. The only problem I've got is I'm running on multiple clients with MySQL back end and a NAS for storage. In order to get it working with network paths (In my case: <setting id="tv_folder" value="smb://freenas/media/youtube/episodes" />) I had to make a few changes. I'm not sure if my fix below is correct (I'm a DB programmer and only vaguely familiar with Python) but hopefully it'll point in the generally correct direction...

Before any code changes, I was getting the following error:

Code:
ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
               Error Type: <type 'exceptions.IOError'>
               Error Contents: (2, 'No such file or directory', 'smb://freenas/media/youtube/episodes/GreatScott_/tvshow.nfo')
               Traceback (most recent call last):
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/addon.py", line 130, in <module>
                   routes.update_playlist(type=type)
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/routes.py", line 58, in update_playlist
                   service.update_playlist(id, type=type)
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 86, in update_playlist
                   generators.write_tvshow_nfo(folder, settings)
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/generators.py", line 976, in write_tvshow_nfo
                   with codecs.open(stream,'w',encoding='utf8') as f:
                 File "/home/stephan/projects/openelec-6.0/build.OpenELEC-Generic.x86_64-6.0.0/Python-2.7.3/.install_pkg/usr/lib/python2.7/codecs.py", line 881, in open
               IOError: (2, 'No such file or directory', 'smb://freenas/media/youtube/episodes/GreatScott_/tvshow.nfo')
               -->End of Python script error report<--

A little research showed that python's native open doesn't know how to deal with network files, but Kodi provides the xbmcvfs library that does. Looking in resources/lib/generators.py showed that the code was there but had been commented out...

Code:
with codecs.open(stream,'w',encoding='utf8') as f:
    f.write(content)
    f.close()                                            
#file = xbmcvfs.File(stream, 'w') #Open / create this file for writing
#file.write(str(content)) #Write the content in the file
#file.close() #Close the file

commenting out the first three lines and uncommenting the other three then gave this error:

Code:
ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
               Error Type: <type 'exceptions.UnicodeEncodeError'>
               Error Contents: 'ascii' codec can't encode character u'\xb4' in position 291: ordinal not in range(128)
               Traceback (most recent call last):
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/addon.py", line 130, in <module>
                   routes.update_playlist(type=type)
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/routes.py", line 58, in update_playlist
                   service.update_playlist(id, type=type)
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 86, in update_playlist
                   generators.write_tvshow_nfo(folder, settings)
                 File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/generators.py", line 980, in write_tvshow_nfo
                   file.write(str(content)) #Write the content in the file
               UnicodeEncodeError: 'ascii' codec can't encode character u'\xb4' in position 291: ordinal not in range(128)
               -->End of Python script error report<--

The fix for that turned out to be adding the following line to convert from utf-8 to ascii

Code:
content_ascii = content.encode("utf-8")

and changing file.write to use content_ascii.

I still had one error after that:

Code:
ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                 - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                Error Type: <type 'exceptions.IOError'>
                Error Contents: (2, 'No such file or directory', 'smb://freenas/media/youtube/episodes/GreatScott_/folder.jpg')
                Traceback (most recent call last):
                  File "/storage/.kodi/addons/plugin.video.youtubelibrary/addon.py", line 130, in <module>
                    routes.update_playlist(type=type)
                  File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/routes.py", line 58, in update_playlist
                    service.update_playlist(id, type=type)
                  File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 86, in update_playlist
                    generators.write_tvshow_nfo(folder, settings)
                  File "/storage/.kodi/addons/plugin.video.youtubelibrary/resources/lib/generators.py", line 988, in write_tvshow_nfo
                    urllib.urlretrieve(settings.find('thumb').text, folder+"/folder.jpg")
                  File "/home/stephan/projects/openelec-6.0/build.OpenELEC-Generic.x86_64-6.0.0/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 93, in urlretrieve
                  File "/home/stephan/projects/openelec-6.0/build.OpenELEC-Generic.x86_64-6.0.0/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 243, in retrieve
                IOError: (2, 'No such file or directory', 'smb://freenas/media/youtube/episodes/GreatScott_/folder.jpg')

So, urlretrieve has the same problem as the first error I received. For the moment I commented out the last 3 lines of generators.py that are calling urlretrieve as it's just grabbing artwork that I can live without for the moment. I haven't found a good solution to fix this yet, but I'm thinking using a local (temp) location followed by xbmcvfs.copy might do the trick.


RE: Youtube Library - Sleuteltje - 2016-01-18

(2016-01-13, 00:45)messers Wrote: Hey guy, no worries I know its not your add-on's fault. It's the way YouTube treats everyone other than their apps and website. My network is fine YouTube just fails to deliver at a proper bandwidth sometimes (seems to be more common a problem for non-Google clients of any kind.)

My comment was more wondering if I'm the only one seeing problems like this, not intended to be anything against your add-on.
That's a bummer. I've not experienced any problems with other YT players on my network. Isn't your ISP prioritising your bandwidth? I've heard in some countries ISP's already started to do that.

(2016-01-13, 03:33)scott967 Wrote: I hope I'm not being a pest. ....
No, you're quite useful. This is bug reporting I can especially do something with. Appreciate the help Smile.
You can use the overwrite folder option to name your folder with valid ascii characters to avoid the __ directory problem for now.
The unicode problems shouldn't pop up tho. It's my first python script and some encoding issues could pop up elsewhere, since I didn't account for it at the start.

(2016-01-18, 21:11)rsquared Wrote: I'm loving this addon. The only problem I've got is I'm running on multiple clients with MySQL back end and a NAS for storage. In order to get it working with network paths (In my case: <setting id="tv_folder" value="smb://freenas/media/youtube/episodes" />) I had to make a few changes. I'm not sure if my fix below is correct (I'm a DB programmer and only vaguely familiar with Python) but hopefully it'll point in the generally correct direction...
......
Thanks Smile. Have you also tried adding the smb:// directory to Kodi as a source? I've read somewhere Kodi can restrict access to sources not added.
Thanks for delving into the problem and tracing it, it will save me tons of work. If I have commented out that section, I must have had a reason for it, I dont remember tho :p.

I've been quite busy lately, also moving all my software to a new computer. I've yet to install Kodi again. But I will look into this issues for the next update Wink!


RE: Youtube Library - derders - 2016-01-19

Hi and thanks for this nice addon

I can`t play some videos

here is a log

22:08:26 T:10988 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.UnicodeEncodeError'>
Error Contents: 'ascii' codec can't encode character u'\xdc' in position 8: ordinal not in range(128)
Traceback (most recent call last):
File "C:\Users\derders\AppData\Roaming\Kodi\addons\plugin.video.youtubelibrary\addon.py", line 141, in <module>
play.playVid(id, filename, season, episode, show) #Play the video
File "C:\Users\derders\AppData\Roaming\Kodi\addons\plugin.video.youtubelibrary\resources\lib\play.py", line 111, in playVid
meta = {'title': meta['title'], 'season' : meta['season'], 'episode': meta['episode'], 'tvshowtitle': meta['showtitle'], 'premiered' : meta['firstaired'], 'duration' : meta['runtime'], 'rating': meta['rating'], 'director': str(' / '.join(meta['director'])), 'writer': str(' / '.join(meta['writer'])), 'plot': meta['plot']}
UnicodeEncodeError: 'ascii' codec can't encode character u'\xdc' in position 8: ordinal not in range(128)
-->End of Python script error report<--
22:08:27 T:9364 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.youtubelibrary/?mode=play&id=VpNvhHW2Sp4&show=BUDDY OG√úN&season=2016&episode=2&filename=s2016e2 - Buddy Og_n 6.0 _ Part 6 _ Refugees welcome]


RE: Youtube Library - hall.liam - 2016-02-05

Hi,
I've been messing around with your add-on for a little bit now. My only issue I have had is with adding music videos. I set it up so the artist is hardcoded to my pleasing, then the rest I pretty much leave as is. Afterwards, The titles are almost all facebook addresses and the artists are all over the place. If it helps, most of my testing was with Epic Rap Battles of History.


RE: Youtube Library - Sleuteltje - 2016-02-06

Hi all,

Sorry for the delay, I've been really swamped with school work and work for my own company to keep, well, myself alive Wink. I'm aware of the encoding problems. I don't think it will be much work to fix them, but I"m kinda swamped at the moment. I hope I'll have some time next week to fix the encoding issues. Stay tuned Smile

@hall.liam; I've got an encoding error when testing for Epic Rap Battles of History, so that shows the encoding is top on my list. Music Video artist - song recognition works best with Vevo video's or video's that maintain the same format of describing the music video. It is strange tho if you get facebook adresses as song title. The artist - song recognition tries to be smart and see if it can succesfully extract the information. It tries to strip ft. artist for example, so perhaps that causes problem with ERB. Do you have the hardcoded artist the same as what is generally in the song title? It tries to strip away the artist from the title, if it can't find the artist in the title, it will probably assume the title formatting is wrong. I hope this will help you in the meantime Wink, I will look into it when i have more time.


RE: Youtube Library - spyvspyaeon - 2016-02-18

Hi,

I was wondering if someone could help me on a error. I'm on a rapsberry pi 2 with kodi Isengard, had installed youtube library V. 0.9.5 and all works well except playing the videos. I've checked the logs and found this:
Can't figure out what it is the issue. Tongue a l'll appreciate any help (because I b***dy love this addon)Rofl thank you for your attention.
Code:
21:41:11 5146.951660 T:1456993200   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.NameError'>
                                            Error Contents: global name 'v' is not defined
                                            Traceback (most recent call last):
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/addon.py", line 139, in <module>
                                                play.playVid(id, filename, season, episode, show) #Play the video
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/play.py", line 137, in playVid
                                                return playYoutubeVid(id) #Just play the video, since we could not retrieve meta information
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/play.py", line 46, in playYoutubeVid
                                                meta['title'] = v.title #Store the youtube title in the meta
                                            NameError: global name 'v' is not defined
                                            -->End of Python script error report<--
21:41:11 5147.883301 T:1946886144   ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.youtubelibrary/?mode=play&id=brh--gYjZts&show=SpaceRip&season=2016&episode=1&filename=s2016e1 - Mystery of the Red Sprites]
21:43:36 5292.221191 T:1676932016   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <class 'xml.etree.ElementTree.ParseError'>
                                            Error Contents: not well-formed (invalid token): line 36, column 5
                                            Traceback (most recent call last):
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/addon.py", line 130, in <module>
                                                routes.update_playlist(type=type)
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/routes.py", line 58, in update_playlist
                                                service.update_playlist(id, type=type)
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 88, in update_playlist
                                                update_playlist_vids(id, folder, settings, type=type)
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 166, in update_playlist_vids
                                                if m_xml.episode_exists(id, vid['contentDetails']['videoId'], type=type):
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/m_xml.py", line 568, in episode_exists
                                                e = xml_get_elem(season_tag+'/'+episode_tag, episode_tag, {'id' : episode}, playlist=playlist, type=type)
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/m_xml.py", line 486, in xml_get_elem
                                                doc = playlist_xml_get(playlist, type=type) #Grab the episodes.xml file of this playlist
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/m_xml.py", line 549, in playlist_xml_get
                                                playlistdocument = ElementTree.parse( vars.settingsPath+dev.typeEpnr(type)+'/'+playlist+'.xml' )
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1182, in parse
                                                tree.parse(source, parser)
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 656, in parse
                                                parser.feed(data)
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
                                                self._raiseerror(v)
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
                                                raise err
                                            ParseError: not well-formed (invalid token): line 36, column 5
                                            -->End of Python script error report<--
21:43:38 5294.332031 T:1854927792   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <class 'xml.etree.ElementTree.ParseError'>
                                            Error Contents: no element found: line 1, column 0
                                            Traceback (most recent call last):
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/addon.py", line 73, in <module>
                                                routes.run_service()
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/routes.py", line 34, in run_service
                                                service.update_playlists()
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 57, in update_playlists
                                                update_playlist(child.attrib['id'], type=type) #Update the nfo & strm files for this playlist
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 88, in update_playlist
                                                update_playlist_vids(id, folder, settings, type=type)
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/service.py", line 118, in update_playlist_vids
                                                if m_xml.episode_exists(id, vid['contentDetails']['videoId'], type=type):
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/m_xml.py", line 568, in episode_exists
                                                e = xml_get_elem(season_tag+'/'+episode_tag, episode_tag, {'id' : episode}, playlist=playlist, type=type)
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/m_xml.py", line 486, in xml_get_elem
                                                doc = playlist_xml_get(playlist, type=type) #Grab the episodes.xml file of this playlist
                                              File "/home/pi/.kodi/addons/plugin.video.youtubelibrary/resources/lib/m_xml.py", line 549, in playlist_xml_get
                                                playlistdocument = ElementTree.parse( vars.settingsPath+dev.typeEpnr(type)+'/'+playlist+'.xml' )
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1182, in parse
                                                tree.parse(source, parser)
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 657, in parse
                                                self._root = parser.close()
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1654, in close
                                                self._raiseerror(v)
                                              File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
                                                raise err
                                            ParseError: no element found: line 1, column 0
                                            -->End of Python script error report<--



RE: Youtube Library - Sleuteltje - 2016-02-19

(2016-02-18, 23:59)spyvspyaeon Wrote: Hi,

I was wondering if someone could help me on a error. I'm on a rapsberry pi 2 with kodi Isengard, had installed youtube library V. 0.9.5 and all works well except playing the videos. I've checked the logs and found this:
Can't figure out what it is the issue. Tongue a l'll appreciate any help (because I b***dy love this addon)Rofl thank you for your attention.
Thnx, I hope my addon will help with Kodi distancing itself from piracy Smile.
Could you please turn on Debug Mode in the addon settings of Youtube Library and post the link to the full log file here (the link, NOT the full log)?


I'm currently fixing the encoding issues of this addon. Problematic YT channels are welcome for testing (please refrain from illegal content!, no support will be given!). Update coming soon.


RE: Youtube Library - spyvspyaeon - 2016-02-19

Hi here it is. I've tried as well upgrade to 0.9.5.1 but same errors. Seriously thank you the dev of this addon. ps: no problem for me, I only track official YT channels, ie, national geographic, nasa, spacerip (ops, and my own Smile ) .

http://xbmclogs.com/pdnal9axq

Thank you again!


RE: Youtube Library - Sleuteltje - 2016-02-19

(2016-02-19, 00:34)spyvspyaeon Wrote: Hi here it is. I've tried as well upgrade to 0.9.5.1 but same errors. Seriously thank you the dev of this addon. ps: no problem for me, I only track official YT channels, ie, national geographic, nasa, spacerip (ops, and my own Smile ) .

http://xbmclogs.com/pdnal9axq

Thank you again!
Nice to hear you get such enjoyment out of my addon. Funny thing is I still have to setup Kodi fully again, so I'm not even using my addon now at the moment Tongue. I am fixing the encoding bugs as we speak tho in my Kodi test enviroment.

Could you perhaps upload your log again with this time also Kodi in debug mode enabled? I could not make up from the log what you were trying to play. Could you supply the youtube link to the video you were trying to play? The error you are experiencing is: " Could not retrieve meta information from the database!". Please check if the show that you are trying to play has been succesfully scanned into the library. Are you using a different setup then normal for the Kodi database? Like a shared mysql setup?


RE: Youtube Library - spyvspyaeon - 2016-02-19

Hi,

* Debug on now.
* Now more simplified uninstalled all, included it dependencies, boot and reinstalled.
* "new TV show" with only my own channel (own stuff). ie. video I tried to play https://www.youtube.com/watch?v=xrzzem2ozA8
log here http://xbmclogs.com/pgyjvsc5c#line-1020 (line 1020) you will see the video link popup an error

*I did always the update step on the playlist(s). Before and after reinstall.

* I found a probable "mistake" if that is a problem, I've added Nasa channel, now I realize that this is a huge feed 3k videos O_o (notice brutal huge mega delay loading the playlist), removed when I reinstalled.

* I use Bromix addon https://github.com/bromix v. 5.1.16 with my own youtube API, (during lost of issues using default, same API for everyone "youtube blocks saying, daily limits exceeded").

* The error occurs on front end menu top (lol sorry not sure what is called). as well occurs inside movies or even if I set to Tv Series, followed this steps here http://www.homemediatech.net/how-to-tutorial-to-install-youtube-library-add-on-plugin-for-kodi/1562


RE: Youtube Library - scott967 - 2016-02-19

Couple quick ideas / feature requests:

1. Would it be possible to change the service start option in addon.xml to "login"? As it is, when I switch profiles I have to manually update. I tested this a little and don't see any downside.

2. For really big channels, it would help if you could have an option to just fetch the last x uploads when initially updating the channel. So I could just get say the last 50 and then just update with new ones in the future.

3. It would help if the storage for TV streams had a "season" subfolder (or season subfolders per year) as various addons and skins assume or require that tv shows are structured this way.

scott s.
.


RE: Youtube Library - Sleuteltje - 2016-02-19

(2016-02-19, 21:52)scott967 Wrote: Couple quick ideas / feature requests:

1. Would it be possible to change the service start option in addon.xml to "login"? As it is, when I switch profiles I have to manually update. I tested this a little and don't see any downside.

2. For really big channels, it would help if you could have an option to just fetch the last x uploads when initially updating the channel. So I could just get say the last 50 and then just update with new ones in the future.

3. It would help if the storage for TV streams had a "season" subfolder (or season subfolders per year) as various addons and skins assume or require that tv shows are structured this way.

scott s.
.
Thnx for thinking along.

1. If there is no downside, I don't see why not.

2. Yes, such an option is a good idea. A few problems could arise tho when the order of the playlists is changed, which happens sometimes on YT for no appeareant reason.

There's also an option under construction that removes videos older then X, or only keeps the last X videos. Problem with this option however is I can't seem to find a way to tell Kodi to automatically clean those videos from the library without cleaning the whole library (which can take quite a while).

3. I've never come across any such problems or incompatibility. Addons using the Kodi Library feature shouldn't mind how things are structured, as long as it's scanned properly in the library. Could you supply some examples of addons/skins with this problem?


RE: Youtube Library - spyvspyaeon - 2016-02-20

(2016-02-19, 23:33)Sleuteltje Wrote: ...storage for TV

I changed again to TV series, and now it's working Huh not sure why. Thank you again Big Grin


RE: Youtube Library - scott967 - 2016-02-21

(2016-02-19, 23:33)Sleuteltje Wrote: 3. I've never come across any such problems or incompatibility. Addons using the Kodi Library feature shouldn't mind how things are structured, as long as it's scanned properly in the library. Could you supply some examples of addons/skins with this problem?

It's kind of a one-off. At least some skins use the Artwork Downloader add-on to supply "extrafanart". AD is designed to create an extrafanart subfolder in a TV show folder and then additional per-season subfolders, including an optional Season 0 subfolder for specials. Skins take advantage of this by constructing a path to the extrafanart for use in a multi-image control by looking in the parent folder to the library path of an episode for this extrafanart subfolder. So for yt-library, that path generates a debug error for non-existent path (though Kodi deals with it). But if a user wanted to create his own extrafanart for the yt-library "tv shows" it won't work without hacking the skin.

scott s.
.