Giter VIP home page Giter VIP logo

script.skin.helper.service's Introduction

script.skin.helper.service

Codacy Badge

a helper service for Kodi skins


Documentation

All documentation for this addon can be found in the online wiki:

https://github.com/kodi-community-addons/script.skin.helper.service/wiki

Help needed with maintaining !

I am very busy currently so I do not have a lot of time to work on this project or watch the forums. Be aware that this is a community driven project, so feel free to submit PR's yourself to improve the code and/or help others with support on the forums etc. If you're willing to really participate in the development, please contact me so I can give you write access to the repo. I do my best to maintain the project every once in a while, when I have some spare time left. Thanks for understanding!

script.skin.helper.service's People

Contributors

abeksis avatar angelinas1 avatar anontester avatar bobcratchett avatar braz96 avatar codacy-badger avatar earch0 avatar eng2heb avatar frodo19 avatar guilouz avatar im85288 avatar inb4after avatar iz8mbw avatar lunatixz avatar marcelveldt avatar matke-84 avatar mgonzales71 avatar neohidra avatar pdf avatar sualfred avatar tomer953 avatar trottel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

script.skin.helper.service's Issues

Feature requests

Hi Marcel
I like to ask you if it's possible to add some new features in your script and i think is better to post them here instead of among the thousands posts in script's forum.

  1. The first one is this... #18.
    I am just putting it here as... bump
  2. The second one is if you can add the function from Phil's script.libraryeditor.
    If you remember we've talked about this in the forums and you told you need a permission from Phil.
    So @phil65... is this ok for you ?
  3. The third it's another function from Phil's scripts and it's the ability to navigate a list by jumping to a title by the first letter. It's the same thing that the shift+[letter] does. Phil has some code ready about this in script.toolbox but when i ask him last year he said that some core code is needed for this work so it was not possible then. So, is it possible to do this now ?. Of course again if it's ok with @phil65.
  4. And the last one is if you can also add the ability to open Kodi's select dialog like you do for the Ok, Yes/No and Textviewer dialogs. Again Phil's script.toolbox does this but its limited to 20 items. IMHO this should be unlimited or at least 100 items.

Since most of these are functions from Phil's scripts you might wonder why not post them in appropriate scripts.The main reason is that both those scripts (script.libraryeditor and script.toolbox) they are not in the official repo and i dont think they will be in any time soon. If @phil65 thinks i am wrong about this then i can post them in his appropriate scripts.

Thank you in advance
Nessus

albumartistid keyerror

11:53:04 T:140314129835776   ERROR: Skin Helper Service --> ERROR in UpdateBackgrounds ! --> 'albumartistid'
11:53:04 T:140314129835776   ERROR: Traceback (most recent call last):
11:53:04 T:140314129835776   ERROR:   File "/home/user/.kodi/addons/script.skin.helper.service/resources/lib/BackgroundsUpdater.py", line 90, in run
11:53:04 T:140314129835776   ERROR:     self.UpdateBackgrounds()
11:53:04 T:140314129835776   ERROR:   File "/home/user/.kodi/addons/script.skin.helper.service/resources/lib/BackgroundsUpdater.py", line 455, in UpdateBackgrounds
11:53:04 T:140314129835776   ERROR:     self.setImageFromPath("SkinHelper.AllMusicSongsBackground","SkinHelper.AllMusicSongsBackground","",['AudioLibrary.GetSongs','{ "properties": ["title","fanart","artist","album","thumbnail"], "limits": {"end":250}, "sort": { "order": "ascending", "method": "random" } }'])
11:53:04 T:140314129835776   ERROR:   File "/home/user/.kodi/addons/script.skin.helper.service/resources/lib/BackgroundsUpdater.py", line 262, in setImageFromPath
11:53:04 T:140314129835776   ERROR:     media['art'] = artutils.getMusicArtwork(media['artist'][0], albumName=media['album'], trackName=media['label'])
11:53:04 T:140314129835776   ERROR:   File "/home/user/.kodi/addons/script.skin.helper.service/resources/lib/ArtworkUtils.py", line 1380, in getMusicArtwork
11:53:04 T:140314129835776   ERROR:     if json_response["artistid"] in song["albumartistid"] and not path2 and song.get("file"):
11:53:04 T:140314129835776   ERROR: KeyError: 'albumartistid'

FR: scheduled backup

just a suggestion but a scheduled skin and skin shortcuts backup feature would be nice to add when you have time and if you think it would be a worthy feature...

option to pick a day (mon, tue, wed, etc)
option to pick a time: at startup, or specify hour and minute
repeat schedule: never, daily, weekly, monthly
bool option to backup at next run if schedule is missed
backup path (with default being userdata/addon_data/skin-name/backup/)
keep X number of backups
bool option for GUI notification of backup success / failure

thanks for the consideration!

Take care Marcel,

Mario

V1.0.32 Causes 44 Second Delay at Startup

I've been playing with Jarvis for a few days, posted this issue over on the kodi forums, but I didn't want to detract from the cadence of that conversation if this is one off problem (which it oddly seems to be). I've been able to reproduce with a couple different installs of both Jarvis Beta 5 and Helix 15.2.

This is my process:

  • Install Kodi
  • Let update
  • Restart Kodi
  • Install Titan Skin (so that skin helper is installed as dependency through kodi repo)
  • Restart Kodi

On this boot up, skin helper service starts almost immediately (within 1 second or less) as seen by the logs:

  • Jarvis Beta 5 Log with Skin helper 1.0.23: http://pastebin.com/iDt0jecJ
  • Helix 15.2 log with Skin Helper 1.0.23: http://pastebin.com/XiEifZ5M
  • Next, install Emby Beta Repo (only) which will trigger an update to Skin Helper 1.0.32
  • Restart Kodi (sometimes hangs after installing Emby repo from zip and Skin Helper updating, not sure if this is related).
  • Wait for kodi to finish shutting down
  • Restart Kodi

On this boot up, skin helper service starts after a consistent 43-45 second delay (which also delays loading of other services such as Emby):

I've done no other customization on these installs, I am not actually using the Titan skin (selecting "no" when asked if I'd like to keep this skin) and I've not installed any other addons at all to try and narrow this down. My current machine is Windows 10 and these are both portable installs.

I do have another 15.2 main install that I use, but I'm leery to update that to 1.0.32 for testing in case it causes the same behavior. Can I simply copy the current script.skin.helper.service folder from the main install and keep it in my pocket in case 1.0.32 causes a similar issue there?

Thanks for any and all help.

cannot import name TheTvDb

Hello,

i'm not sure if i'm at the correct plugin, but i get this error ๐Ÿ˜•
i hope you can help.

21:37:45.753 T:1662387088   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.ImportError'>
                                            Error Contents: cannot import name TheTvDb
                                            Traceback (most recent call last):
                                              File "/home/kodi/.kodi/addons/script.skin.helper.service/plugin.py", line 10, in <module>
                                                from resources.lib.plugin_content import PluginContent
                                              File "/home/kodi/.kodi/addons/script.skin.helper.service/resources/lib/plugin_content.py", line 17, in <module>
                                                from artutils import KodiDb, Tmdb, get_clean_image, process_method_on_list
                                              File "/home/kodi/.kodi/addons/script.module.skin.helper.artutils/lib/artutils.py", line 28, in <module>
                                                from thetvdb import TheTvDb
                                            ImportError: cannot import name TheTvDb
                                            -->End of Python script error report<--
21:37:45.999 T:1333785488   ERROR: GetDirectory - Error getting plugin://script.skin.helper.service/?action=nextepisodes&limit=25&reload=

Greets,
Marcel

Default widgets can be very slow to load initially

Loading the default widgets on my system is currently taking around 7 minutes first time (obviously much better on subsequent launches when the data is cached.)

The delay is coming from the detectPluginContent function and skin helper's own widgets. For me, it's also only affecting the music widgets.

From what I can see, though detectPluginContent is only requesting one item from the plugin in the JSON request, that isn't passed on Skin Helpers widget builder, which is building - judging from the logs - 100 items:

NOTICE: Skin Helper Service --> getPluginListing-RECOMMENDEDSONGS-100-None--False -- no cache, quering json api to get items

The slowness is caused because, as part of building those 100 items, Skin Helper is going off to find artwork for each of them via the getMusicArtwork function. With a hundred items, this takes a lot of time.

I'm not sure what the best way is to tackle this. The most obvious, to me, would be to adjust the plugin path within the detectPluginContent to change any limit= to 1, though that's not the easiest thing to do and I don't know how that might adversely affect the plugins own cache. There could well be better ways though!

I'm happy to make any changes and PR if that's helpful and you can give me some direction on how this problem would best be tackled.

Add "videos" as content type

Hi,

Would it be possible to add "videos" as a content type similar to "movies" when getting content types?

If you would be willing, I guess this means adding it to:
script.skin.helper.service/resources/lib/utils.py
get_current_content_type()

and changing this line:
elif xbmc.getCondVisibility("Container.Content(movies) + !substring(Container.FolderPath,setid=)"):
content_type = "movies"

to something like:
elif xbmc.getCondVisibility("[Container.Content(movies) | Container.Content(videos)] + !substring(Container.FolderPath,setid=)"):
content_type = "movies"

My problem is that the Kodi Youtube add-in has Container.Content=videos, and therefore the list of available views is 3 (panel list, thumbs, list) instead of the 15 or so offered by my skin. I use skin Eminence 2 MOD for Krypton, but I guess this change would benefit any skin.

As a test, I put the value of Container.Content in a label in the top left corner:
screenhunter_78 jan 04 14 52

Remove/Improve local image cache

Wanted to get some feedback on this before I start coding it up and realise I'm making a huge mistake ๐Ÿ˜„, but I can't see the purpose of caching the pvr images the script retrieves locally and it is causing some minor issues...

  1. Wasting space - on devices with limited storage, caching the images locally is more than doubling the space needed for each image as Kodi also caches the images, but its versions are the optimised/shrunk .tbn versions
  2. Slightly slower - at the moment the script searches for the image, downloads it, then (if I'm reading the code right) passes the local URI to Kodi. Which then itself loads, optimises and saves the image. Rather than passing the remote URI to Kodi to download-optimise-save directly
  3. Old images if Skin Helper cache is deleted - because Skin Helper saves the downloaded images with the same name each time, and because (from what I understand and have seen from a quick test of this) Kodi decides which of the images in its cache to load based on the filename, once Kodi has cached, say, the thumb for a PVR item, even if Skin Helper downloads a new thumb Kodi will still use the old one it has cached as the filename is the same.

The obvious solution to me would be to save the remote filename that Skin Helper finds into the pvrdetails.xml file, and to provide that remote URI to Kodi when the skin requests the relevant image. That way, only Kodi's cache version of the image is downloaded, Kodi should take care of all downloading of the image, and if Skin Helpers cache is cleared and a newer image found that will be used by Kodi.

That's unless I'm missing something in the way the cache is designed to work, though ;) Any feedback or insight is welcome before I put the time into coding this!

osrandom engine already registered

I am getting a "skin helper service error" frequently (using the titan skin). When I examine the error log I see many errors with the text below. The only symptom I can see is that I can't seem to press the down arrow to open the power/settings tray on the home screen.

21:59:23 T:140335304931072   ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.RuntimeError'>
                                            Error Contents: osrandom engine already registered
                                            Traceback (most recent call last):
                                              File "/home/mehrlich/.kodi/addons/script.skin.helper.service/service.py", line 5, in <module>
                                                from resources.lib.BackgroundsUpdater import BackgroundsUpdater
                                              File "/home/mehrlich/.kodi/addons/script.skin.helper.service/resources/lib/BackgroundsUpdater.py", line 9, in <module>
                                                import ArtworkUtils as artutils
                                              File "/home/mehrlich/.kodi/addons/script.skin.helper.service/resources/lib/ArtworkUtils.py", line 5, in <module>
                                                import requests
                                              File "/home/mehrlich/.kodi/addons/script.module.requests/lib/requests/__init__.py", line 53, in <module>
                                                from .packages.urllib3.contrib import pyopenssl
                                              File "/home/mehrlich/.kodi/addons/script.module.requests/lib/requests/packages/urllib3/contrib/pyopenssl.py", line 54, in <module>
                                                import OpenSSL.SSL
                                              File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
                                                from OpenSSL import rand, crypto, SSL
                                              File "/usr/lib/python2.7/dist-packages/OpenSSL/rand.py", line 11, in <module>
                                                from OpenSSL._util import (
                                              File "/usr/lib/python2.7/dist-packages/OpenSSL/_util.py", line 7, in <module>
                                                binding = Binding()
                                              File "/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 63, in __init__
                                                self._ensure_ffi_initialized()
                                              File "/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 95, in _ensure_ffi_initialized
                                                cls._register_osrandom_engine()
                                              File "/usr/lib/python2.7/dist-packages/cryptography/hazmat/bindings/openssl/binding.py", line 70, in _register_osrandom_engine
                                                raise RuntimeError("osrandom engine already registered")
                                            RuntimeError: osrandom engine already registered
                                            -->End of Python script error report<--

skin helper .35 issue - error resulted in kodi crashing

wish i had debug on for this but here is the error that was logged right before kodi crashed.

running kodi 15.2 rc3 on win x64

16:59:17 T:9980 NOTICE: -->Python Interpreter Initialized<--
16:59:18 T:9980 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ValueError'>
Error Contents: too many values to unpack
Traceback (most recent call last):
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\plugin.py", line 95, in
Main()
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\plugin.py", line 53, in init
getRecentAlbums(limit)
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\PluginContent.py", line 503, in getRecentAlbums
cdArt, LogoArt, BannerArt, extraFanArt, Info, TrackList = getMusicDetailsByDbId(item["albumid"], "albums")
ValueError: too many values to unpack
-->End of Python script error report<--
16:59:18 T:11848 ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://script.skin.helper.service/?action=recentalbums&limit=100
16:59:18 T:6336 NOTICE: Thread LanguageInvoker start, auto delete: false
16:59:18 T:6336 NOTICE: -->Python Interpreter Initialized<--
16:59:19 T:6336 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ValueError'>
Error Contents: too many values to unpack
Traceback (most recent call last):
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\plugin.py", line 95, in
Main()
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\plugin.py", line 55, in init
getRecentSongs(limit)
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\PluginContent.py", line 594, in getRecentSongs
cdArt, LogoArt, BannerArt, extraFanArt, Info, TrackList = getMusicDetailsByDbId(item["songid"], "songs")
ValueError: too many values to unpack
-->End of Python script error report<--
16:59:19 T:11848 ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://script.skin.helper.service/?action=recentsongs&limit=100
16:59:19 T:5620 NOTICE: Thread LanguageInvoker start, auto delete: false

Message Dialog (textviewer) issue?

I am using the following to show what's new in AddonInfo...
RunScript(script.skin.helper.service,action=textviewer,header=[yourheadertext],message=[your message body])

The problem is that this is not working if i am not using some quotes in message attribute.

This is working properly...
<onclick>RunScript(script.skin.helper.service,action=textviewer,header=$LOCALIZE[24054],message='"$INFO[ListItem.AddonNews])"'</onclick>

...and this is not. it shows only the first line...
<onclick>RunScript(script.skin.helper.service,action=textviewer,header=$LOCALIZE[24054],message=$INFO[ListItem.AddonNews])</onclick>

The thing is that those quotes ("') are visible in textviewer in the begging of the text and is not looking good.

Is there any fix on this or am i doing something in the code?

Thanks
Nessus

SkinHelper.EnableAddonsLookups: use local library artwork first then lookup online

suggestion that when enabled/used that artwork be used if found locally in the library before online lookup is used.

this will allow continuity for show and movie artwork for instance if I prefer a banner, clearlogo, etc other then the first default found online it will be used first.

if this doesnt make sense let me know and I can explain better.

thanks a million as always Marcel!

Mario

feature request: ratings from multuiple sources

by default the chosen scrapers will only return ratings for one source.
it would be nice to interface directly with the various scrappers' to get ratings.

universal scrapper seems to already have support via several support/info addons for this you just need to use python to interface with them because the scraper only supports one selection of a source.

the "dream" is to have the ability to display in the skin ratings for a movie or tv show from at least these sources:

imdb, rotten tomatoes, trakt and metacritic

maybe also tvdb, tmdb, etc as well

Thanks for your consideration of this FR,.

Mario

PS - if you do add support, I would love to add this as a feature in Titan :)

Not Pulling thumbnails for virtual folder groups from ServerWMC PVR plugin anymore

Something appears to have changed.

The ServerWMC PVR plugin has the option to "group items" so rather than seeing 12 individual episodes of "Castle" in your recorded TV list, you would see a single listing for "Castle (12)". Clicking it would display a listing of all the individual episodes.

In previous releases I figured out a way to use this plugin to automatically search for artwork and populate the artwork for these shows (So I'd get poster art etc when "Castle (12)" was highlighted.) Essentially I configured the "stripwords" item in the settings file with (1);(2);(3);... and so on. I went to (99) so as long as I didn't have a show with over 99 recordings, show art would populate.

Then a couple of shows I gathered fan-art manually, these were just shows that are local, or didn't have sporting event categories that don't have any show data available online (Local morning news, College Wrestling, and a special folder "Recording Now" which is a where shows live while actively being recorded). All of those folders have custom art, and would show up nicely.

It appears the "stripwords" doesn't have the same impact now though, so the way I'm using it doesn't function and I'm back to generic folder icons for any groupings (the virtual folders with the (#) )

Kodi.log logs as I highlight a show (virtual folder).
22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> setPVRThumb dbID--> Childrens Hospital (2) - path: pvr://recordings/active/Childrens Hospital (2)/

This is the part I'm not familiar with yet. The special path pvr:// it obviously isn't stripping the (2), but not sure if that is the cause. Again "Childrens Hospital (2)" is actually a virtual folder - serverWMC is grouping all of the Childrens Hospital episodes in this folder.

22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> getPVRThumb for Childrens Hospital --> 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> getPVRThumb no cache found for dbID--> childrenshospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> pvr thumbs path --> special://profile/addon_data/script.skin.helper.service/pvrthumbs/Childrens Hospital/

The line above leads me to believe at least a portion works as it did. It knows to look in the folder "Children Hospital" and not "Childrens Hospital 2", but it appears to be looking for dbID "childrenshospital", but it set setPVRThumb dbID--> Childrens Hospital (2) in the prior log entry. I'm curious if the stripwords setting's impact comes too late if the dbID mechanism is the new part of this process. It appears it may set the dbID based on the show title (without honoring stripwords) then it looks at stripwords and does the lookup (but I'm taking stabs at something I don't know all the mechanics of, hence the post)

22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> thumbspath found on disk for Childrens Hospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> thumb found on disk for Childrens Hospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> poster found on disk for Childrens Hospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> fanart found on disk for Childrens Hospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> landscape found on disk for Childrens Hospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> clearlogo found on disk for Childrens Hospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> clearart found on disk for Childrens Hospital 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> extrafanart found on disk for Childrens Hospital

And it finds all of the artwork in those folders, but artwork is no longer displayed as it was in prior releases.

22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> getJson - invalid result for Method VideoLibrary.GetTvShows - params: { "filter": {"operator":"is", "field":"title", "value":"Childrens Hospital "}, "properties": [ "dateadded", "file", "lastplayed","plot", "title", "art", "playcount","sorttitle", "mpaa", "premiered", "year", "episode", "watchedepisodes", "votes", "rating", "studio", "season", "genre", "cast", "episodeguide", "tag", "originaltitle", "imdbnumber" ] } - response: {u'limits': {u'start': 0, u'total': 0, u'end': 0}} 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> getJson - invalid result for Method VideoLibrary.GetMovies - params: { "filter": {"operator":"is", "field":"title", "value":"Childrens Hospital "}, "properties": [ "dateadded", "file", "lastplayed","plot", "title", "art", "playcount","streamdetails", "director", "resume", "runtime","plotoutline", "sorttitle", "cast", "votes", "showlink", "top250", "trailer", "year", "country", "studio", "set", "genre", "mpaa", "setid", "rating", "tag", "tagline", "writer", "originaltitle", "imdbnumber" ] } - response: {u'limits': {u'start': 0, u'total': 0, u'end': 0}} 22:25:45 T:140287156360960 NOTICE: Skin Helper Service --> getTMDBimage - TMDB match found for Childrens Hospital ! 22:25:46 T:140287156360960 NOTICE: Skin Helper Service --> get fanart.tv images for type: tv - id: 139941

I have to step through a few to get all the logs from above many of them just show a single log entry:
22:41:42 T:140287262160640 NOTICE: Skin Helper Service --> setPVRThumb dbID--> Bones (33) - path: pvr://recordings/active/Bones (33)/ 22:41:48 T:140287288747776 NOTICE: Skin Helper Service --> setPVRThumb dbID--> South Park (6) - path: pvr://recordings/active/South Park (6)/ 22:41:51 T:140287288747776 NOTICE: Skin Helper Service --> setPVRThumb dbID--> Marvel's Agents of S.H.I.E.L.D. (11) - path: pvr://recordings/active/Marvel's Agents of S.H.I.E.L.D. (11)/ 22:41:55 T:140287288747776 NOTICE: Skin Helper Service --> setPVRThumb dbID--> Drunk History (6) - path: pvr://recordings/active/Drunk History (6)/

I'm curious if there is a disconnect between the entries referenced above with the pvr:// path that keep the parens (# of episodes within the virt folder). and the references to the special:// path to the pvrthumbs folder where the stripwords is honored and the parens are stripped.

So not necessarily a bug. The plugin was obviously designed for a lot more than this very specific use-case, but curious if someone can identify and state "yes we changed the way we did X so now that wouldn't work the same way" and ideally what would if anything I can tweak to make it work again.

Plugin release is whatever is current in the current openelec stable, and same behavior on Kodi 16 on the OpenElec beta

FR: tunefind support

Had suggested this to Phil65 for extended info back in October but never heard back from him so asking if you may be interested in adding this as a feature to skin helper:

support for TuneFind

They have an API that should allow this feature easier then scraping a site

http://www.tunefind.com/api

Feel free to veto/ignore - figured it never hurts to ask/suggest ๐Ÿ˜„ either way I will still love and enjoy your script and skin!

thanks for all the great work!

Mario

Getting error

ERROR: GetDirectory - Error getting /Users/user/Library/Application Support/Kodi/userdata/library/video
ERROR: GetDirectory - Error getting /Users/user/Library/Application Support/Kodi/userdata/library/music

ERROR: Error parsing boolean expression + [!stringcompare(Skin.String(home.widgetposters)

What could be the problem?

skin control focus while script populates properties (info dialog)

FYI - this one is odd...

but I noticed tonight (so could be issue with latest commit(s) or not) that if I press I for Info (using krypton nightly with keyboard controls) the control focus is lost and moving around will keep loosing control focus (like a tug of war) until the properties are populated for the dialog by the script(s). was using latest titan skin beta for K*.

Mac installation problem from repo

any folder ending in .service (in os Sierra) gets converted to a "package" the result is that I'm unable to use the addon.. :(

I have to manually get the zip and install it so that the foyer ends in "master"

schermata 2017-01-10 alle 16 13 39

might be the wrong place to post, sorry if that's the case.

Utils.py throws KeyError exception

Sometimes when I finish an episode, Kodi crashes and throws the following log :

20:42:05 T:584  NOTICE: CDVDMessageQueue::GetLevel() - can't determine level
20:42:06 T:12228  NOTICE: Previous line repeats 8 times.
20:42:06 T:12228 WARNING: CRenderManager::WaitForBuffer - timeout waiting for buffer
20:42:13 T:10644 WARNING: Previous line repeats 2 times.
20:42:13 T:10644  NOTICE: CDVDMessageQueue::GetLevel() - can't determine level
20:42:13 T:10644  NOTICE: CVideoPlayerAudio::Process - stream stalled
20:42:13 T:584  NOTICE: CVideoPlayer::OnExit()
20:42:13 T:584  NOTICE: VideoPlayer: eof, waiting for queues to empty
20:42:13 T:584  NOTICE: Closing stream player 1
20:42:13 T:584  NOTICE: CDVDMessageQueue(audio)::WaitUntilEmpty
20:42:13 T:584  NOTICE: Waiting for audio thread to exit
20:42:13 T:10644   ERROR: Got MSGQ_ABORT or MSGO_IS_ERROR return true
20:42:13 T:10644  NOTICE: thread end: CVideoPlayerAudio::OnExit()
20:42:13 T:584  NOTICE: Closing audio device
20:42:13 T:584  NOTICE: Deleting audio codec
20:42:13 T:584  NOTICE: Closing stream player 2
20:42:13 T:584  NOTICE: CDVDMessageQueue(video)::WaitUntilEmpty
20:42:13 T:584  NOTICE: waiting for video thread to exit
20:42:13 T:12228   ERROR: Got MSGQ_ABORT or MSGO_IS_ERROR return true
20:42:13 T:12228  NOTICE: thread end: video_thread
20:42:13 T:584  NOTICE: deleting video codec
20:42:13 T:584  NOTICE: Closing stream player 3
20:42:13 T:3052  NOTICE: CVideoPlayer::CloseFile()
20:42:13 T:3052  NOTICE: VideoPlayer: waiting for threads to exit
20:42:13 T:3052  NOTICE: VideoPlayer: finished waiting
20:42:13 T:3052  NOTICE: CVideoPlayer::CloseFile()
20:42:13 T:3052  NOTICE: VideoPlayer: waiting for threads to exit
20:42:13 T:3052  NOTICE: VideoPlayer: finished waiting
20:42:13 T:4988 WARNING: CWin32DirectSound::GetSpace - buffer underrun - W:7320, P:272, O:5288.
20:42:16 T:5812   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: ('item',)
                                            Traceback (most recent call last):
                                              File "C:\Users\Jonas\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\KodiMonitor.py", line 29, in onNotification
                                                utils.resetVideoWidgetWindowProps(data)
                                              File "C:\Users\Jonas\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\Utils.py", line 838, in resetVideoWidgetWindowProps
                                                type = data["item"]["type"]
                                            KeyError: ('item',)
                                            -->End of Python script error report<--
20:42:16 T:8292  NOTICE: [plugin.video.youtube] Running: YouTube (5.1.17) on Jarvis (17.0) with Python 2.7.10
20:42:17 T:11664  NOTICE: script.tv.show.next.aired: ### TV Show - Next Aired starting GUI proc (6.0.15)
20:42:17 T:14508 WARNING: CSkinInfo: failed to load skin settings

When a video is marked as watched after playback, I have the Trakt.TV addon fire up and ask for a rating. When a video is watched up to the last second, I have an addon fire up to show me the trailer for the next episode on youtube. I don't know if they're conflicting or if the issue is in your script but I'll drop that here anyway.
Tell me if you need any more info and I'll try to reproduce the bug with better debug logging enabled.

fanart cleanup

wanted to clean up the fanart for you. the ones I posted earlier were more draft quality.

fanart

icon and fanart

something I drafted for you - can adjust etc per your request

skin helper service icon 1
skin helper service icon 5

some more drafts

shs alt icon 1
shs alt icon 2
shs alt icon 3
shs alt icon 4

shs alt icon 6
shs alt icon 7
shs alt icon 8
shs alt icon 9

Option to only save PVR artwork if a picture is found

I have enabled "save PVR artwork" to disk, but I get many folders in my userdata, which only contains a pvrdetails.xml file and no thumb, fanart etc.
Can you please add an option to "only save PVR artwork if a picture is found while scraping online"? Then you get only folders with thumbs etc. and pvrdetails.xml
Folders with only a pvrdetails.xml AND without any pictures are not useful.

FR: additional wall backgrounds

a. Add "Random TV-Shows Wall background"
b. Add "Global random Wall background"
c. Add for each "Wall" background type an option also for posters view (instead of fanarts)
d. Add a widget for "Global random media" (Kind of combination of Random Movies & Random TV-Shows)

FYI - script update hangs/crashes kodi (.41)

just got pushed and update of the script that hung (or crashed) kodi

these are the messages in log file up until app hung:

04:52:18 T:7192 NOTICE: Thread BackgroundLoader start, auto delete: false
04:53:37 T:4056 ERROR: CPythonInvoker(3, C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\service.py): script didn't stop in 5 seconds - let's kill it
04:53:51 T:9988 NOTICE: Thread LanguageInvoker start, auto delete: false
04:53:52 T:2264 NOTICE: Thread BackgroundLoader start, auto delete: false
04:53:53 T:7476 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.SystemExit'>
Error Contents:
Traceback (most recent call last):
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\KodiMonitor.py", line 48, in onNotification
logMsg("Kodi_Monitor: sender %s - method: %s - data: %s"%(sender,method,data))
SystemExit
-->End of Python script error report<--
04:53:53 T:7124 NOTICE: -->Python Interpreter Initialized<--
04:53:57 T:952 ERROR: C:\Users\Mario\AppData\Roaming\Kodi\addons\script.module.requests\lib\requests\packages\urllib3\util\ssl_.py:100: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
04:53:57 T:7476 NOTICE: SKIN HELPER SERVICE --> shutdown requested !
04:53:57 T:7476 NOTICE: Skin Helper Service --> BackgroundsUpdater - stop called
04:53:57 T:9556 NOTICE: -->Python Interpreter Initialized<--
04:53:57 T:7476 NOTICE: Previous line repeats 3 times.
04:53:57 T:7476 NOTICE: Skin Helper Service --> HomeMonitor - stop called
04:54:02 T:9988 NOTICE: skin helper service version 0.0.41 started
04:54:02 T:8356 NOTICE: ----------------------------------------
04:54:02 T:8356 NOTICE: Exception happened during processing of request from
04:54:02 T:8356 NOTICE: ('127.0.0.1', 55139)
04:54:02 T:8356 ERROR: Traceback (most recent call last):
04:54:02 T:8356 ERROR: File "C:\Program Files (x86)\Kodi\system\python\Lib\SocketServer.py", line 295, in _handle_request_noblock
04:54:02 T:8356 ERROR: self.process_request(request, client_address)
04:54:02 T:8356 ERROR: File "C:\Program Files (x86)\Kodi\system\python\Lib\SocketServer.py", line 321, in process_request
04:54:02 T:8356 ERROR: self.finish_request(request, client_address)
04:54:02 T:8356 ERROR: File "C:\Program Files (x86)\Kodi\system\python\Lib\SocketServer.py", line 334, in finish_request
04:54:02 T:8356 ERROR: self.RequestHandlerClass(request, client_address, self)
04:54:02 T:8356 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\WebService.py", line 63, in init
04:54:02 T:8356 ERROR: File "C:\Program Files (x86)\Kodi\system\python\Lib\SocketServer.py", line 648, in init
04:54:02 T:8356 ERROR: self.server = server
04:54:02 T:8356 ERROR: SystemExit
04:54:02 T:8356 NOTICE: ----------------------------------------
04:54:02 T:7476 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <class 'httplib.BadStatusLine'>
Error Contents: ''
Traceback (most recent call last):
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\service.py", line 46, in
Main()
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\service.py", line 43, in init
webService.stop()
File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\WebService.py", line 29, in stop
logMsg("WebService - stop called")
File "C:\Program Files (x86)\Kodi\system\python\Lib\httplib.py", line 1067, in getresponse
response.begin()
File "C:\Program Files (x86)\Kodi\system\python\Lib\httplib.py", line 409, in begin
version, status, reason = self._read_status()
File "C:\Program Files (x86)\Kodi\system\python\Lib\httplib.py", line 373, in _read_status
raise BadStatusLine(line)
BadStatusLine: ''
-->End of Python script error report<--
04:54:05 T:6028 NOTICE: script.tv.show.next.aired: ### TV Show - Next Aired starting GUI proc (6.0.14)
04:54:06 T:11068 NOTICE: Previous line repeats 1 times.
04:54:06 T:11068 NOTICE: Skin Helper Service --> ERROR in BackgroundsUpdater ! --> cannot identify image file
04:54:06 T:11068 ERROR: Traceback (most recent call last):
04:54:06 T:11068 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\BackgroundsUpdater.py", line 61, in run
04:54:06 T:11068 ERROR: self.UpdateBackgrounds()
04:54:06 T:11068 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\BackgroundsUpdater.py", line 429, in UpdateBackgrounds
04:54:06 T:11068 ERROR: self.setWallImageFromPath("SkinHelper.AllMusicSongsBackground.Wall","musicdb://songs/",True)
04:54:06 T:11068 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\BackgroundsUpdater.py", line 167, in setWallImageFromPath
04:54:06 T:11068 ERROR: images = createImageWall(self.allBackgrounds[libPath],windowProp,blackWhite,square)
04:54:06 T:11068 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\ImageWall.py", line 56, in createImageWall
04:54:06 T:11068 ERROR: img = Image.open(img_obj)
04:54:06 T:11068 ERROR: File "C:\Program Files (x86)\Kodi\addons\script.module.pil\lib\PIL\Image.py", line 1980, in open
04:54:06 T:11068 ERROR: raise IOError("cannot identify image file")
04:54:06 T:11068 ERROR: IOError: cannot identify image file
04:54:06 T:11068 ERROR: XFILE::CDirectory::GetDirectory - Error getting
04:54:16 T:8204 NOTICE: Thread LanguageInvoker start, auto delete: false
04:54:16 T:8204 NOTICE: -->Python Interpreter Initialized<--
04:54:18 T:8608 NOTICE: Thread LanguageInvoker start, auto delete: false
04:54:18 T:8608 NOTICE: -->Python Interpreter Initialized<--

FR: One click ratings set for music and video

Hi Marcelveldt,

It would be great if you could consider adding a function to set the rating of a song / video directly.

At the moment, we can increase / decrease ratings in single steps using built in Kodi functions. An onclick method that sets the rating of the currently playing track straight to 10 would save a lot of time, and would open the door to a simpler rating system (e.g. to just "love" the track). I hope that makes some kind of sense!

NextAired TV Shows widget issues

@marcelveldt I tested this 110da78 and everything working fine except that the ListItem.Art(poster) is empty. But my main issue is that the list returns only shows that airing the current day/date. My goal for this was to show a list with all the shows (that are in the library), when they airing. That way you can see which day and date a show is airing.
Is that possible ?.

Thanks
Nessus

PVR channels widget doesn't work anymore

Hi I use latest krypton from git and mimic skin. If I correctly understand the widget part is managed by your addon. The problem I had is with recent git version of krypton the PVR channel widget stop working it just display nothing. The strange thing is the PVR channel with artwork widget is working perfectly.

forced views going crazy :-) also streams & LibraryMonitor errors

Hi Marcel -
Great work - love all the new features coming out.

just noticed a couple issues in the latest helper .8 and skin 3.5.7

forced views have gone haywire in the latest script and skin update.
sometimes they are correct other times they inherit the previous windows settings or are just wrong. A couple times I have seen the view correct itself after a 5-10 second delay.

also seems like an error is being throw quite often when viewing streams via 3rd party video add ons like Genesis in this instance...

23:12:27 T:13264 ERROR: Traceback (most recent call last):
23:12:27 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 179, in run
23:12:27 T:13264 ERROR: self.setStreamDetails()
23:12:27 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 845, in setStreamDetails
23:12:27 T:13264 ERROR: if json_result: streamdetails = json_result["streamdetails"]
23:12:27 T:13264 ERROR: UnboundLocalError: local variable 'json_result' referenced before assignment
23:12:27 T:13264 NOTICE: Skin Helper Service --> ERROR in LibraryMonitor ! --> local variable 'json_result' referenced before assignment
23:12:27 T:13264 ERROR: Traceback (most recent call last):
23:12:27 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 179, in run
23:12:27 T:13264 ERROR: self.setStreamDetails()
23:12:27 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 845, in setStreamDetails
23:12:27 T:13264 ERROR: if json_result: streamdetails = json_result["streamdetails"]
23:12:27 T:13264 ERROR: UnboundLocalError: local variable 'json_result' referenced before assignment
23:12:27 T:9408 NOTICE: Thread FileCache start, auto delete: false
23:12:28 T:13264 NOTICE: Previous line repeats 4 times.
23:12:28 T:13264 NOTICE: Skin Helper Service --> ERROR in LibraryMonitor ! --> local variable 'json_result' referenced before assignment
23:12:28 T:13264 ERROR: Traceback (most recent call last):
23:12:28 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 179, in run
23:12:28 T:13264 ERROR: self.setStreamDetails()
23:12:28 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 845, in setStreamDetails
23:12:28 T:13264 ERROR: if json_result: streamdetails = json_result["streamdetails"]
23:12:28 T:13264 ERROR: UnboundLocalError: local variable 'json_result' referenced before assignment
23:12:29 T:2028 NOTICE: Thread FileCache start, auto delete: false
23:12:30 T:13264 NOTICE: Previous line repeats 3 times.
23:12:30 T:13264 NOTICE: Skin Helper Service --> ERROR in LibraryMonitor ! --> local variable 'json_result' referenced before assignment
23:12:30 T:13264 ERROR: Traceback (most recent call last):
23:12:30 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 179, in run
23:12:30 T:13264 ERROR: self.setStreamDetails()
23:12:30 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 845, in setStreamDetails
23:12:30 T:13264 ERROR: if json_result: streamdetails = json_result["streamdetails"]
23:12:30 T:13264 ERROR: UnboundLocalError: local variable 'json_result' referenced before assignment
23:12:30 T:4816 NOTICE: Thread FileCache start, auto delete: false
23:12:30 T:13264 NOTICE: Skin Helper Service --> ERROR in LibraryMonitor ! --> local variable 'json_result' referenced before assignment
23:12:30 T:13264 ERROR: Traceback (most recent call last):
23:12:30 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 179, in run
23:12:30 T:13264 ERROR: self.setStreamDetails()
23:12:30 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 845, in setStreamDetails
23:12:30 T:13264 ERROR: if json_result: streamdetails = json_result["streamdetails"]
23:12:30 T:13264 ERROR: UnboundLocalError: local variable 'json_result' referenced before assignment
23:12:31 T:13264 NOTICE: Skin Helper Service --> ERROR in LibraryMonitor ! --> local variable 'json_result' referenced before assignment
23:12:31 T:13264 ERROR: Traceback (most recent call last):
23:12:31 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 179, in run
23:12:31 T:13264 ERROR: self.setStreamDetails()
23:12:31 T:13264 ERROR: File "C:\Users\Mario\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\LibraryMonitor.py", line 845, in setStreamDetails
23:12:31 T:13264 ERROR: if json_result: streamdetails = json_result["streamdetails"]
23:12:31 T:13264 ERROR: UnboundLocalError: local variable 'json_result' referenced before assignment

Default Browse path option

I'm using Kodi Skin Eminence 2 MOD. and it has a feature where I can save or restore the skin settings.
I requested from the developer to have a setting to create a default folder. but he said it's the limitation of skin helper services. will it be possible to add this feature in skin helper so that the developer can add a default browse path option.

Thanks

Try to fix "ERROR in BackgroundsUpdater" for artist

Marcel something wrong with new changes for latest changes for artist background

21:00:51 T:2884 ERROR: Skin Helper Service --> ERROR in BackgroundsUpdater ! --> 'list' object has no attribute 'replace'
21:00:51 T:2884 ERROR: Traceback (most recent call last):
21:00:51 T:2884 ERROR: File "C:\Users\Lenovo\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\BackgroundsUpdater.py", line 54, in run
21:00:51 T:2884 ERROR: self.UpdateBackgrounds()
21:00:51 T:2884 ERROR: File "C:\Users\Lenovo\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\BackgroundsUpdater.py", line 516, in UpdateBackgrounds
21:00:51 T:2884 ERROR: self.setImageFromPath("SkinHelper.AllMusicSongsBackground","musicdb://songs/")
21:00:51 T:2884 ERROR: File "C:\Users\Lenovo\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\BackgroundsUpdater.py", line 297, in setImageFromPath
21:00:51 T:2884 ERROR: image = artutils.getMusicArtwork(media.get('artist',''),media.get('album',''))
21:00:51 T:2884 ERROR: File "C:\Users\Lenovo\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\ArtworkUtils.py", line 966, in getMusicArtwork
21:00:51 T:2884 ERROR: if not ignoreCache: albumartwork = getArtworkFromCacheFile("special://profile/addon_data/script.skin.helper.service/musicart/%s-%s.xml" %(normalize_string(artistName),normalize_string(albumName)))
21:00:51 T:2884 ERROR: File "C:\Users\Lenovo\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\Utils.py", line 697, in normalize_string
21:00:51 T:2884 ERROR: text = text.replace(":", "")
21:00:51 T:2884 ERROR: AttributeError: 'list' object has no attribute 'replace'

Error decoding "local" movies imdbid

I have movies that are added with JustTheFilename scanner, that don't have an IMDB ID. For these movies information is trying to be retrieved from OMDBAPI, which of course fails.

(Here is some additional logging I added)

10:56:49.585 T:19348 NOTICE: Skin Helper Service --> Retrieving OMDBAPI info for ImdbId--> 20160216-2016-00241 - contentType: movies - url: http://www.omdbapi.com/?t=20160216-2016-00241&y=2016&type=movie&plot=short&tomatoes=true&r=json
10:56:56.589 T:25892 NOTICE: Skin Helper Service --> Retrieving OMDBAPI info for ImdbId--> 20141109-1911-00138 - contentType: movies - url: http://www.omdbapi.com/?t=20141109-1911-00138&y=2014&type=movie&plot=short&tomatoes=true&r=json
...
Then the following happens on line 1014 in ListItemMonitor.

Code:

omdbresult = json.loads(res.content.decode('utf-8','replace'))

10:57:14.338 T:19348 NOTICE: Skin Helper Service --> Retrieving OMDBAPI info for ImdbId--> 20160216-2016-00241 - res: <Response [200]>
10:57:20.913 T:25892 NOTICE: Skin Helper Service --> Retrieving OMDBAPI info for ImdbId--> 20141109-1911-00138 - res: <Response [503]>

They are http-response 200 and 503 respectively in these cases, because these IDs are bogus for the OMDBAPI.

Pasting the URL in the browser results in:
The service is unavailable.

And then you standard logging, which is what happens constantly for these movies:

10:57:20.913 T:25892 ERROR: Unhandled exception in thread started by
10:57:20.913 T:25892 ERROR: <bound method ListItemMonitor.setOmdbInfo of <ListItemMonitor(Thread-1, started 13068)>>
10:57:20.913 T:25892 ERROR: Traceback (most recent call last):
10:57:20.913 T:25892 ERROR: File "C:\Users\hablaras\AppData\Roaming\Kodi\addons\script.skin.helper.service\resources\lib\ListItemMonitor.py", line 1016, in setOmdbInfo
10:57:20.915 T:25892 ERROR: omdbresult = json.loads(res.content.decode('utf-8','replace'))
10:57:20.915 T:25892 ERROR: File "C:\Users\hablaras\AppData\Roaming\Kodi\addons\script.module.simplejson\lib\simplejson_init_.py", line 488, in loads
10:57:20.916 T:25892 ERROR: return _default_decoder.decode(s)
10:57:20.916 T:25892 ERROR: File "C:\Users\hablaras\AppData\Roaming\Kodi\addons\script.module.simplejson\lib\simplejson\decoder.py", line 370, in decode
10:57:20.916 T:25892 ERROR: obj, end = self.raw_decode(s)
10:57:20.916 T:25892 ERROR: File "C:\Users\hablaras\AppData\Roaming\Kodi\addons\script.module.simplejson\lib\simplejson\decoder.py", line 389, in raw_decode
10:57:20.917 T:25892 ERROR: return self.scan_once(s, idx=_w(s, idx).end())
10:57:20.917 T:25892 ERROR: File "C:\Users\hablaras\AppData\Roaming\Kodi\addons\script.module.simplejson\lib\simplejson\scanner.py", line 119, in scan_once
10:57:20.917 T:25892 ERROR: return _scan_once(string, idx)
10:57:20.917 T:25892 ERROR: File "C:\Users\hablaras\AppData\Roaming\Kodi\addons\script.module.simplejson\lib\simplejson\scanner.py", line 115, in _scan_once
10:57:20.917 T:25892 ERROR: raise JSONDecodeError(errmsg, string, idx)
10:57:20.917 T:25892 ERROR: simplejson.scanner
10:57:20.917 T:25892 ERROR: .
10:57:20.917 T:25892 ERROR: JSONDecodeError
10:57:20.917 T:25892 ERROR: :
10:57:20.917 T:25892 ERROR: Expecting value: line 1 column 1 (char 0)

Would it be possible to to add a check on line 1013 just after this code to see if there is a valid HTTP response at all?

res = requests.get(url)

This would prevent all the ugly parsing errors.

[PVR channel widget] EPG info isn't refreshed.

Hi, with the new version of skin helper service, the EPG info displayed in the PVR channel widget doesnt refresh properly. It use the EPG info of the first time you set up the widget, after that the widget never refresh it.

Give option to change the webservice port in settings

Can you create a option in settings for the webservice port option. Right now the port is 8888 . This will interfere if the user is already using another app outside Kodi with same port. Also, a notification in Kodi will be nice that this service is using port 8888 when user fist installed the service.

I had to dig around quite a while to find the real problem. Now i change the port to different one and the problem solved.
https://github.com/marcelveldt/script.skin.helper.service/blob/master/resources/lib/WebService.py#L14
Thanks for your great work and your consideration of the problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.