Kodi Community Forum

Full Version: skin helper service
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(2016-12-02, 19:25)Angelinas Wrote: [ -> ]1-stil same problem about movies -always find tvshow(if excist)
2-SkinHelper.PvrBackground not working for channel
3-When clik manual lookup open search dialog(I complitly delete string for searching,and no meter what to chose from top panel Movie or tvshow alwys is same.Same is when leave Title in serch dialog).
4-Info that I have in library dosent collect info labels for that Title, Art working.(only for TVshow not working, for movies all ok)
5-for simular name(no in library) only collect for first Title info and art, for rest info is blank and for art working only thumb.

I'm sorry but I can't follow this. Please make sure to seperate your questions and not mix them up. That combined with bad English makes it impossible for me to read as English, sorry.
If I understand correctly, you have the folowing issues:

1) The PVR Art function is still not working correctly in your case, it prefers tvshows all the time while it should be movies.
Question a) Can you please check whatever is set in the infolabel $INFO[ListItem.genre] in your case ?
Question b) If you chooce "manual lookup" from the context menu, are presented with a dialog to choose if it's a movie or tvshow ?
Question c) Do you actually see the "TMDB results" selection box when you do a manual search for PVR artwork ?


2) The SkinHelper.Pvrbackground doesn't show fanarts from TV channels, only from recordings.
Answer: You probably have cleared the cache. Now it will take up to 30 minutes before the backgrounds will start showing. They're lazy loaded in the background to not stress the load too much.


The other questions/reports I couldn't make heads or tails about them so please rephrase them more clearly.
Sorry but english is not mine native language
Other who know english will write about this....For me PVR dont work as should
I write Tarzan english..but I put images to see what I cant explain with word. Smile

1:
a) Genre is "Adventure" (pvr is collect from epg.xml as label<genre>,not by number "19516")
b) Yes after search dialog open top menu dialog to choose if it's a movie or tvshow
c) yes, and no ( no, is when I have in same channel EPG Evants Title no:1 "spider-man 2" and no:2 "spider-man 3")

2 I can live without this Smile
(2016-12-02, 23:32)Angelinas Wrote: [ -> ]Sorry but english is not mine native language
Other who know english will write about this....For me PVR dont work as should
I write Tarzan english..but I put images to see what I cant explain with word. Smile

1:
a) Genre is "Adventure" (pvr is collect from epg.xml as label<genre>,not by number "19516")
b) Yes after search dialog open top menu dialog to choose if it's a movie or tvshow
c) yes, and no ( no, is when I have in same channel EPG Evants Title no:1 "spider-man 2" and no:2 "spider-man 3")

2 I can live without this Smile

No worries, it's not my native language too so that makes it extra difficult I guess.
What exactly do you use in your skin to display the genre ? Type EXACTLY what you use as $INFO[something]...

Also, please give me the results of $INFO[ListItem.genre] - I know you're not using that but I need to know what it's displaying.

EDIT: found more more bug in the pvrart code. Please test with new version
(2016-12-02, 22:13)marcelveldt Wrote: [ -> ]
(2016-12-02, 09:15)wheatfield Wrote: [ -> ]Hey Marcel, I've noticed that in PVR recordings, images no longer display at the group folder level. Is this intentional? Thanks.

Should still work at the grouped level. Are the groupfolders named like the recordings ?

I only got it to work by using manual lookup and ignoring the active filter warning. When the keyboard dialog pops up, it is only displaying the first word of the title, so I type in the rest. I guess I'm not understanding how the filters work. The folders are named like the title of the movie or tv show, though there are episode titles for the actual episode recordings in the folder.

EDIT: It looks like artwork will appear inside movie folders (since the file and the folder are named the same), but not episode folders (folder is TV Show title, but file may be named "S01E01 - Pilot" for example). All this is only possible with manual lookup.
(2016-12-02, 22:30)marcelveldt Wrote: [ -> ]
Code:
22:39:34.245 T:1400 WARNING: CUtil::SplitParams(TVshowPath,"S:\Media\TV Shows - Local Only\Arrow\") - end of string while searching for ) or "
22:39:36.556 T:4424 WARNING: Previous line repeats 2 times.

Not related to skinhelper, sounds more like an issue with your PVR addon.
Also the second error is spit out by the Kodi scraper, not skinhelper.

Ok, so that might not be related, but the problem with multiple eps shown is still there. Sorry I dont know how else to help...there is nothing in the log..
Is there any other info I can provide you to help out with sorting this out?
(2016-12-03, 02:49)marcelveldt Wrote: [ -> ]What exactly do you use in your skin to display the genre ? Type EXACTLY what you use as $INFO[something]...

Also, please give me the results of $INFO[ListItem.genre] - I know you're not using that but I need to know what it's displaying.

EDIT: found more more bug in the pvrart code. Please test with new version
here is one excample:
$INFO[ListItem.Title] ---> Home
$INFO[ListItem.Genre] ---> Adventure
Image
In simplecache.db have id "pvr_artwork.home.sky movies family uk" for this id have data:
Code:
{'art': {u'fanart': u'C:\\Kodi\\Music\\Home\\fanart.jpg', u'banner': u'C:\\Kodi\\Music\\Home\\banner.jpg'}, 'cachestr': u'pvr_artwork.home.sky movies family uk', 'pvrtitle': u'Home', 'pvrchannel': u'Sky Movies Family UK', 'pvrgenre': u'Adventure', 'genre': [u'Adventure'], 'media_type': ''}
resultats in simplecache.db
Image
In simplecache.db have meny pages for tmdb.get_data.search/multi
tmdb.get_data.search/multi.{'query': u'home', 'page': 4, 'language': 'en'}
and one for tmdb.get_data.search/movie
Only this data with ID "artutils.get_tmdb_details...home.." is ok.This info is that I want to see on Kodi.(strange name for ID with lot of ...)
Image
For manual lookup
chosen "movie" have new id in simplecache.db with name
Code:
pvr_artwork.home.sky movies family uk
and data for this ID are
Code:
{'art': {u'fanart': u'C:\\Kodi\\Music\\Home\\fanart.jpg', u'banner': u'C:\\Kodi\\Music\\Home\\banner.jpg'}, 'cachestr': u'pvr_artwork.home.sky movies family uk', 'pvrtitle': u'Home', 'pvrchannel': u'Sky Movies Family UK', 'pvrgenre': u'Adventure', 'genre': [u'Adventure'], 'media_type': 'movie'}
resultats are same in kodi.
This is real info that now is on PVR
https://www.themoviedb.org/movie/228161-home
(2016-12-03, 06:29)wheatfield Wrote: [ -> ]I only got it to work by using manual lookup and ignoring the active filter warning. When the keyboard dialog pops up, it is only displaying the first word of the title, so I type in the rest. I guess I'm not understanding how the filters work. The folders are named like the title of the movie or tv show, though there are episode titles for the actual episode recordings in the folder.

EDIT: It looks like artwork will appear inside movie folders (since the file and the folder are named the same), but not episode folders (folder is TV Show title, but file may be named "S01E01 - Pilot" for example). All this is only possible with manual lookup.

Please give me an exact example of one of your grouped recordings, so the title of the grouped folder AND one of the titles of the underlying episodes.
Also notice that your naming convention is most probably causing the issue. You named it "S01E01 Pilot", there should be an tvshow title in the filename becaus ethat's what's used for lookups.
A lookup for S01E01 will return exactly nothing.
(2016-12-03, 14:01)Angelinas Wrote: [ -> ]In simplecache.db have id "pvr_artwork.home.sky movies family uk" for this id have data:
Code:
{'art': {u'fanart': u'C:\\Kodi\\Music\\Home\\fanart.jpg', u'banner': u'C:\\Kodi\\Music\\Home\\banner.jpg'}, 'cachestr': u'pvr_artwork.home.sky movies family uk', 'pvrtitle': u'Home', 'pvrchannel': u'Sky Movies Family UK', 'pvrgenre': u'Adventure', 'genre': [u'Adventure'], 'media_type': ''}

Are you aware that you're using "c:\Kodi\Music\" as a custom path for the pvrart ?
Maybe it's just for test but it's kind of a strange path to save pvr art ;-)

Can you please test without the custom folder in the addon settings ?
I found a small bug where it completely skips the online scraper if any artwork is found in the custom folder.
I will fix the bug now so you can also wait for next version.
(2016-12-03, 14:26)marcelveldt Wrote: [ -> ]Maybe it's just for test but it's kind of a strange path to save pvr art ;-)
Yes,that is folder name (testing as you write) Wink
For manual storing Art (that working, I have all art in that folder)

Please see why have that "point" (.) in "artutils.get_tmdb_details...home.."
That cosing isue and Script can find right ID,Change when you have time ,I will change manual modul for testing

Edit:
yes...you find u bug
when I Set without the custom folder in the addon settings
Have ok resultats

Only stay isue with tvshow (TVShow have in my library) in pvr dont have info from scraper.

PVR is now in full power, tnx on your patience Smile
Title "Home" showing info
Image
(2016-12-03, 14:35)Angelinas Wrote: [ -> ]Please see why have that "point" (.) in "artutils.get_tmdb_details...home.."
That cosing isue and Script can find right ID,Change when you have time ,I will change manual modul for testing

No, that's not related, you can ignore that. It's just the way how the cache ids are structured, nothing of importance there.

(2016-12-03, 14:35)Angelinas Wrote: [ -> ]yes...you find u bug
when I Set without the custom folder in the addon settings
Have ok resultats

OK, great.
Version 1.0.15 of script.module.skinhelper.artutils is now uploading to the repo.
That should fix the issues, thanks for testing and patience!

It should also fix the lookup isses for grouped recordings reported by others.
Note that the cache has to be reset or a manual lookup started to grab the new results
(2016-12-02, 22:28)marcelveldt Wrote: [ -> ]
(2016-12-02, 11:46)JohnyBee Wrote: [ -> ]Hi,
SkinHelper does not collect information for all music artists in my library.
SkinHelper takes only SkinHelper.ListItem.Art.Thumb and SkinHelper.ListItem.Art.FanArt.
Musical artists (for example, AC / DC, Alicia Keys, Ariana Grande, Avril Lavigne, Britney Spears, DEV ..........) have in their catalogs files banner.jpg, fanart.jpg, folder.jpg , logo.png and extrafanart folder with files xxxxxxxxx.jpg, but SkinHelper takes only SkinHelper.ListItem.Art.Thumb and SkinHelper.ListItem.Art.FanArt.

My settings for SkinHelper Music Artwork (EnableMusicArt, EnableExtendedArt, EnableExtraFanart) :
Enable online scraper (musicbrainz/audiodb/fanart/last.fm) - off
Lookup artwork in my music folders (library) - on
Lookup artwork in a custom folder (e.g. recordings folder) - off

I used the "Refresh (auto looup)" - but nothing changes
Maybe someone can help? What am I doing wrong?Sad
Hi Marcel,
Quote:It's working correctly on my setup with those exact same settings.
Do you have this folder structure for your music:

Artistname
-------------- artwork files
-------------- album name folder
---------------------------------------- album artwork (disc.png or folder.jpg)
---------------------------------------- songs

Also supported is an additional "disc" subfolder in the album.
Yes, I have the same structure of catalogs for music.
Quote:Any errors in the logfile ?
At logfile there is no errors for SkinHelper.

My test for following settings:
Lookup atrwork in a custom folder (e.g. recording folder) -ON
Download (missing) atwork to my custom folder - ON

Durring test for chosen artist I start function: Refresh (auto lookup)

I found problem at fuction get_customfolder_path (file: \addons\script.module.skin.helper.artutils\lib\helpers\musicartwork.py) (when I was analizing and testing your code (is huge Wink)
You function always analizing only first artist folder at custom folder and give back empty string. Sad
Your code:
PHP Code:
def get_customfolder_path(selfcustomfolderfoldername):
        
'''search recursively for a specific folder'''
        
if "\\" in customfolder:
            
delim "\\"
        
else:
            
delim "/"
        
dirs xbmcvfs.listdir(customfolder)[0]
        for 
strictness in [10.950.90.8]:
            for 
directory in dirs:
                
directory directory.decode("utf-8")
                
curpath os.path.join(customfolderdirectory) + delim
                match 
SM(Nonefoldername.lower(), directory.lower()).ratio()
                if 
match >= strictness:
                    return 
curpath
                
else:
                    return 
self.get_customfolder_path(curpathfoldername)
        return 
"" 

My code after testing works good (it found folder of artist, copy banner.jpg, fanar.jpg, folder.jpg, logo.jpg to this folder and save to properties of SkinHelper)
My code for testing:
PHP Code:
def get_customfolder_path(selfcustomfolderfoldername):
        
'''search recursively for a specific folder'''
        
if "\\" in customfolder:
            
delim "\\"
        
else:
            
delim "/"
        
dirs xbmcvfs.listdir(customfolder)[0]
        for 
strictness in [10.950.90.8]:
            for 
directory in dirs:
                
directory directory.decode("utf-8")
                
curpath os.path.join(customfolderdirectory) + delim
                match 
SM(Nonefoldername.lower(), directory.lower()).ratio()
                if 
match >= strictness:
                    return 
curpath
 
#               else:
 #                   return self.get_customfolder_path(curpath, foldername)
        
return "" 
I think your code is wrong. BlushAngel
If you find a litte time, check it please.
(2016-12-03, 17:27)JohnyBee Wrote: [ -> ]I found problem at fuction get_customfolder_path (file: \addons\script.module.skin.helper.artutils\lib\helpers\musicartwork.py) (when I was analizing and testing your code (is huge Wink)
You function always analizing only first artist folder at custom folder and give back empty string. Sad
I think your code is wrong. BlushAngel
If you find a litte time, check it please.

Thanks for the catch and the help. There was indeed a stupid error in the code.
The fix however was a little more complicated than your change because it should be recursive.
I have just fixed it. Do you mind testing it in the next update ? I will put it on the repo later today or first thing tomorrow.
(2016-12-03, 14:14)marcelveldt Wrote: [ -> ]Please give me an exact example of one of your grouped recordings, so the title of the grouped folder AND one of the titles of the underlying episodes.
Also notice that your naming convention is most probably causing the issue. You named it "S01E01 Pilot", there should be an tvshow title in the filename because that's what's used for lookups.
A lookup for S01E01 will return exactly nothing.

I figured the naming of the episodes was incorrect, I'm just sort of stuck with how the pvr names them. But I thought that I'd get images for the folders themselves since it's the title of the show.

There's some additional debug information at the top of these screencaps. The artwork that is displaying is coming from the pvr itself, but it's really limited.
Image
Image
Got this error when opening an album.

Code:
WARNING: Skin Helper Service --> Traceback (most recent call last):
                  File "/storage/usbotg/Android/data/org.xbmc.kodi/files/.kodi/addons/script.skin.helper.service/resources/lib/listitem_monitor.py", line 274, in set_listitem_details
                    artist = listitem["albumartist"]
                KeyError: 'albumartist'
  ERROR: Skin Helper Service --> Exception in resources.lib.listitem_monitor ! --> 'albumartist'
(2016-12-04, 00:30)marcelveldt Wrote: [ -> ]
(2016-12-03, 17:27)JohnyBee Wrote: [ -> ]I found problem at fuction get_customfolder_path (file: \addons\script.module.skin.helper.artutils\lib\helpers\musicartwork.py) (when I was analizing and testing your code (is huge Wink)
You function always analizing only first artist folder at custom folder and give back empty string. Sad
I think your code is wrong. BlushAngel
If you find a litte time, check it please.

Thanks for the catch and the help. There was indeed a stupid error in the code.
The fix however was a little more complicated than your change because it should be recursive.
I have just fixed it. Do you mind testing it in the next update ? I will put it on the repo later today or first thing tomorrow.

Hi Marcel,
script.module.skin.helper.artutils ver. "1.0.15
The problem still exists.Huh
Your code:
PHP Code:
def get_customfolder_path(selfcustomfolderfoldername):
        
'''search recursively for a specific folder'''
        
if "\\" in customfolder:
            
delim "\\"
        
else:
            
delim "/"
        
dirs xbmcvfs.listdir(customfolder)[0]
        for 
strictness in [10.950.90.8]:
            for 
directory in dirs:
                
directory directory.decode("utf-8")
                
curpath os.path.join(customfolderdirectory) + delim
                match 
SM(Nonefoldername.lower(), directory.lower()).ratio()
                if 
match >= strictness:
                    return 
curpath
                
else:
                    return 
self.get_customfolder_path(curpathfoldername)
        return 
"" 
My code for testing (it recursive):
PHP Code:
def get_customfolder_path(selfcustomfolderfoldername):
        
'''search recursively for a specific folder'''
        
if "\\" in customfolder:
            
delim "\\"
        
else:
            
delim "/"
        
dirs xbmcvfs.listdir(customfolder)[0]
        for 
strictness in [10.950.90.8]:
            for 
directory in dirs:
                
directory directory.decode("utf-8")
                
curpath os.path.join(customfolderdirectory) + delim
                match 
SM(Nonefoldername.lower(), directory.lower()).ratio()
                if 
match >= strictness:
                    return 
curpath
                
else:
                    
self.get_customfolder_path(curpathfoldername)
        return 
"" 
My code after testing works good.
If you find a little time, check it again please. Blush