Giter VIP home page Giter VIP logo

script.skin.helper.widgets's Introduction

script.skin.helper.widgets

Addon for Kodi providing widgets for all kinds of media types

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!

Dynamic content provider

The script implements a plugin entrypoint to provide some dynamic content that can be used for example in widgets.

use the parameter limit=[value] to define the number of items to show in the list. Defaults to the setting defined in the addon settings

All available methods can be explored by navigating to the addon in Kodi's video addons section. Most important/used methods are listed below:

Next Episodes
plugin://script.skin.helper.widgets/?action=next&mediatype=episodes&reload=$INFO[Window(Home).Property(widgetreload)]

Provides a list of the nextup episodes. Searches for next episode after the last played, otherwise returns the first unwatched episode. Note: the reload parameter is needed to auto refresh the widget when the content has changed.


Recommended Movies
plugin://script.skin.helper.widgets/?action=recommended&mediatype=movies&reload=$INFO[Window(Home).Property(widgetreload-movies)]

Provides a list of the in-progress movies AND movies sorted by rating. An alternate behavior for this widget is available in settings, which finds movies similar to all recently watched movies. Note: the reload parameter is needed to auto refresh the widget when the content has changed.


Recommended Media
plugin://script.skin.helper.widgets/?action=recommended&mediatype=media&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides a list of recommended media (movies, tv shows, music) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.


Recent albums
plugin://script.skin.helper.widgets/?action=recent&mediatype=albums&reload=$INFO[Window(Home).Property(widgetreload-music)]

Provides a list of recently added albums, including the artwork provided by this script as ListItem.Art(xxxx) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.

Optional argument: browse=true --> will open/browse the album instead of playing it


Recently played albums
plugin://script.skin.helper.widgets/?action=recentplayed&mediatype=albums&reload=$INFO[Window(Home).Property(widgetreload-music)]

Provides a list of recently played albums, including the artwork provided by this script as ListItem.Art(xxxx) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.

Optional argument: browse=true --> will open/browse the album instead of playing it


Recommended albums
plugin://script.skin.helper.widgets/?action=recommended&mediatype=albums&reload=$INFO[Window(Home).Property(widgetreload-music)]

Provides a list of recommended albums, including the artwork provided by this script as ListItem.Art(xxxx) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.

Optional argument: browse=true --> will open/browse the album instead of playing it


Recent songs
plugin://script.skin.helper.widgets/?action=recent&mediatype=songs&reload=$INFO[Window(Home).Property(widgetreload-music)]

Provides a list of recently added songs, including the artwork provided by this script as ListItem.Art(xxxx) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.


Recently played songs
plugin://script.skin.helper.widgets/?action=recentplayed&mediatype=songs&reload=$INFO[Window(Home).Property(widgetreload-music)]

Provides a list of recently played songs, including the artwork provided by this script as ListItem.Art(xxxx) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.


Recommended songs
plugin://script.skin.helper.widgets/?action=recommended&mediatype=songs&reload=$INFO[Window(Home).Property(widgetreload-music)]

Provides a list of recommended songs, including the artwork provided by this script as ListItem.Art(xxxx) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.


Recent Media
plugin://script.skin.helper.widgets/?action=recent&mediatype=media&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides a list of recently added media (movies, tv shows, music, tv recordings, musicvideos) Note: You can optionally provide the reload= parameter if you want to refresh the widget on library changes.


Similar Movies (because you watched...)
plugin://script.skin.helper.widgets/?action=similar&mediatype=movies&reload=$INFO[Window(Home).Property(widgetreload2)]

This will provide a list with unwatched movies that are similar to a random recently watched movie from the library (similarity is based on several factors, including matching genres, writers, directors, movie set & rating). TIP: The listitem provided by this list will have a property "similartitle" which contains the movie from which this list is generated. That way you can create a "Because you watched $INFO[Container.ListItem.Property(originaltitle)]" label.... Note: You can optionally provide the widgetreload2 parameter if you want to refresh the widget every 10 minutes. If you want to refresh the widget on other circumstances just provide any changing info with the reload parameter, such as the window title or some window Property which you change on X interval.

The above command will create a similar movies listing based on a random recently watched movie in the library. If you want to specify the movie to base the request on yourself you can optionally specify the imdb id to the script:

plugin://script.skin.helper.widgets/?action=similar&mediatype=movies&imdbid=[IMDBID]

Similar Tv Shows (because you watched...)
plugin://script.skin.helper.widgets/?action=similarshows&reload=$INFO[Window(Home).Property(widgetreload2)]

This will provide a list with TV shows that are similar to a random in progress show from the library, sorted by number of matching genres, then rating. TIP: The listitem provided by this list will have a property "similartitle" which contains the movie from which this list is generated. That way you can create a "Because you watched $INFO[Container.ListItem.Property(originaltitle)]" label.... Note: You can optionally provide the widgetreload2 parameter if you want to refresh the widget every 10 minutes. If you want to refresh the widget on other circumstances just provide any changing info with the reload parameter, such as the window title or some window Property which you change on X interval.

The above command will create a similar shows listing based on a random in progress show in the library. If you want to specify the show to base the request on yourself you can optionally specify the imdb/tvdb id to the script:

plugin://script.skin.helper.widgets/?action=similarshows&imdbid=[IMDBID]

Similar Media (because you watched...)
plugin://script.skin.helper.widgets/?action=similar&mediatype=media&reload=$INFO[Window(Home).Property(widgetreload2)]

This will provide a list with both Movies and TV shows that are similar to a random in progress movie or show from the library. TIP: The listitem provided by this list will have a property "similartitle" which contains the movie from which this list is generated. That way you can create a "Because you watched $INFO[Container.ListItem.Property(originaltitle)]" label.... Note: You can optionally provide the widgetreload2 parameter if you want to refresh the widget every 10 minutes. If you want to refresh the widget on other circumstances just provide any changing info with the reload parameter, such as the window title or some window Property which you change on X interval.

The above command will create a similar shows listing based on a random in progress show in the library. If you want to specify the movie/show to base the request on yourself you can optionally specify the imdb/tvdb id to the script:

plugin://script.skin.helper.widgets/?action=similarshows&imdbid=[IMDBID]

Top rated Movies in genre
plugin://script.skin.helper.widgets/?action=forgenre&mediatype=movies&reload=$INFO[Window(Home).Property(widgetreload2)]

This will provide a list with movies that for a random genre from the library. TIP: The listitem provided by this list will have a property "genretitle" which contains the movie from which this list is generated. Note: You can optionally provide the widgetreload2 parameter if you want to refresh the widget every 10 minutes. If you want to refresh the widget on other circumstances just provide any changing info with the reload parameter, such as the window title or some window Property which you change on X interval.


Top rated tvshows in genre
plugin://script.skin.helper.widgets/?action=forgenre&mediatype=tvshows&reload=$INFO[Window(Home).Property(widgetreload2)]

This will provide a list with tvshows for a random genre from the library. TIP: The listitem provided by this list will have a property "genretitle" which contains the movie from which this list is generated. Note: You can optionally provide the widgetreload2 parameter if you want to refresh the widget every 10 minutes. If you want to refresh the widget on other circumstances just provide any changing info with the reload parameter, such as the window title or some window Property which you change on X interval.


In progress Media
plugin://script.skin.helper.widgets/?action=inprogress&mediatype=media&reload=$INFO[Window(Home).Property(widgetreload)]

Provides a list of all in progress media (movies, tv shows, music, musicvideos) Note: the reload parameter is needed to auto refresh the widget when the content has changed.


In progress and Recommended Media
plugin://script.skin.helper.widgets/?action=inprogressandrecommended&mediatype=media&reload=$INFO[Window(Home).Property(widgetreload)]

This combines in progress media and recommended media, useful to prevent an empty widget when no items are in progress. Note: the reload parameter is needed to auto refresh the widget when the content has changed.


Favourite Media
plugin://script.skin.helper.widgets/?action=favourite&mediatype=media&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides a list of all media items that are added as favourite (movies, tv shows, songs, musicvideos) Note: By providing the reload-parameter set to the widgetreload2 property, the widget will be updated every 10 minutes.


PVR TV Channels widget
plugin://script.skin.helper.widgets/?action=channels&mediatype=pvr&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides the Kodi TV channels as list content, enriched with the artwork provided by this script (where possible). Note: By providing the reload-parameter set to the widgetreload2 property, the widget will be updated every 10 minutes.


PVR Latest Recordings widget
plugin://script.skin.helper.widgets/?action=recordings&mediatype=pvr&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides the Kodi TV Recordings (sorted by date) as list content, enriched with the artwork provided by this script (where possible). Note: By providing the reload-parameter set to the widgetreload2 property, the widget will be updated every 10 minutes.


Favourites
plugin://script.skin.helper.widgets/?mediatype=favourites&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides the Kodi favourites as list content. Note: By providing the reload-parameter set to the widgetreload2 property, the widget will be updated every 10 minutes.


Unaired episodes
plugin://script.skin.helper.widgets/?action=unaired&mediatype=episodes&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides a listing for episodes for tvshows in the Kodi library that are airing within the next 2 months.

All listitem properties should be the same as any other episode listitem, all properties should be correctly filled with the correct info. Just treat the widget as any other episode widget and you should have all the details properly set. If not, let me know ;-)

Listitem.Title --> title of the episode Listitem.Season, ListItem.Episode --> season/episode of the episode ListItem.TvShowTitle --> Name of the show ListItem.Studio --> Network of the show ListItem.FirstAired --> Airdate for the episode ListItem.Art(fanart, poster etc.) --> Artwork from the TV show (in Kodi database) ListItem.Thumb or Listitem.Art(thumb) --> Episode thumb (if provided by tvdb)

Besides the default Kodi ListItem properties for episodes the following properties will exist:

ListItem.Property(airday) --> The weekday the show will air on the network (e.g. Monday) ListItem.Property(airtime) --> The time the show will air on the network (e.g. 8:00 PM) ListItem.Property(airdatetime) --> Combination of airdate and airtime ListItem.Property(airdatetime.label) --> Combination of airdate, airtime and network


Next airing episodes
plugin://script.skin.helper.widgets/?action=nextaired&mediatype=episodes&reload=$INFO[Window(Home).Property(widgetreload2)]

Provides the next unaired episode for each tvshow in the library which is airing within the next 2 months. Difference with the unaired episodes is that it will only show the first airing episode for each show while unaired episodes shows all airing episodes. Also, the next airing episodes looks 60 days ahead for airing episodes while the unaired episodes looks 120 days ahead.

For the listitem properties, see the "unaired episodes" plugin path.


Browse Genres
plugin://script.skin.helper.widgets/?action=browsegenres&mediatype=movies&limit=1000
plugin://script.skin.helper.widgets/?action=browsegenres&mediatype=tvshows&limit=1000

Provides the genres listing for movies or tvshows with artwork properties from movies/shows with the genre so you can build custom genre icons.

ListItem.Art(poster.X) --> poster for movie/show X (start counting at 0) in the genre

ListItem.Art(fanart.X) --> fanart for movie/show X (start counting at 0) in the genre

For each genre, only 5 movies/tvshows are retrieved. Supported types: movie, tvshow (will return 5 items from the library for each genre) If you use randommovie or randomtvshow as type the library items will be randomized


Playlist
plugin://script.skin.helper.widgets/?action=playlist&mediatype=movies&tag=[playlistname]
plugin://script.skin.helper.widgets/?action=playlist&mediatype=tvshows&tag=[playlistname]
plugin://script.skin.helper.widgets/?action=playlist&mediatype=media&movie_label=[movieplaylistname]&tv_label=[tvplaylistname]

Provides the specified playlist(s) with limited number of items, sorted by experimental recommendation score.

Supported types: movie, tvshow, media



Widget reload properties

If you need to refresh a widget automatically after the library is changed, you can append these to the widget path.

For example:

plugin://myvideoplugin/movies/?latest&reload=$INFO[Window(Home).Property(widgetreload-episodes)]
property description
Window(Home).Property(widgetreload) will change if any video content is added/changed in the library or after playback stop of any video content (in- or outside of library)
Window(Home).Property(widgetreload-episodes) will change if episodes content is added/changed in the library or after playback stop of episodes content (in- or outside of library)
Window(Home).Property(widgetreload-movies) will change if movies content is added/changed in the library or after playback stop of movies content (in- or outside of library)
Window(Home).Property(widgetreload-tvshows) will change if tvshows content is added/changed in the library
Window(Home).Property(widgetreload-music) will change if any music content is added/changed in the library or after playback stop of music (in- or outside of library)
Window(Home).Property(widgetreload2) will change every 10 minutes (e.g. for pvr widgets or favourites)

script.skin.helper.widgets's People

Contributors

angelinas1 avatar anontester avatar eng2heb avatar frodo19 avatar guilouz avatar iz8mbw avatar marcelveldt avatar patrick-klein avatar redglory avatar sualfred 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

Watchers

 avatar  avatar  avatar  avatar

script.skin.helper.widgets's Issues

Music - Artists (and all varations) missing

Now, not sure if this is a helper script issue or the new widget part of the helper script but I noticed in the latest beta (krypton) that I can't choose any music widgets of the class "artist" - I find song, album, etc but nothing artist related. I used to have a widget "random artists" but noticed a log error that it was no longer found. So I tried to add it again only to find no widgets for artists available.

19:34:54.038 T:14884   ERROR: Error loading Smart playlist special://skin/extras/widgetplaylists/randomartists.xsp (failed to read file)
19:34:54.038 T:14884   ERROR: XFILE::CDirectory::GetDirectory - Error getting special://skin/extras/widgetplaylists/randomartists.xsp

I know the error above is due to the re-write and the file moved but that's what lead me to this issue.

Oh and also - if you define a splash screen in the skin things don't seem to work.

noticed the runscript used to call "spashscreen" but it looks like it was renamed to "show_splash" but changing that in the startup.xml still did not work so I am thinking there is another issue - I am so novice with python I figured it would be easy for you to find/fix instead of me spending an hour struggling to find the most likely obvious issue hehe

Blank TV Channels widget

The widget "Skin Helper Service Widgets"->"PVR"->"TV Channels" version 1.0.22 results in a blank widget.

I'm using the NextPVR addon but I don't know if that makes any difference.

Using debug logging I determined that the issue was an exception caused by this line in %appdata%\Kodi\addons\script.skin.helper.widgets\resources\lib\pvr.py

channellogo = self.metadatautils.get_channellogo(channelname).get("ChannelLogo", "")

because self.metadatautils.get_channellogo(channelname) returns a string, so calling the get function fails.

I see this is fixed in commit 40b0e92 back in March, so I expect it won't be a problem when the next version is released into the kodi repository, but as a temporary fix until then I've just changed the line to

channellogo = self.metadatautils.get_channellogo(channelname)

I hope this help out anyone else who experiences the same problem.

New episodes not working properly, maybe?

Hey

I downloaded this through the add_ons section on Kodi (not here directly on github). I love it, thanks so much! I just have one problem, but I might be being stupid. I was using it perfectly fine and it was showing under next episodes the episode after the one I had most recently watched even though I had not watched the first season on Kodi (pls say if this is unclear) but then I cleared my library completely, cleaned it and reupdated it but it now seems like it no longer works the way before. If for example you start watching season 2 of a tv shows and you finish episode 1, before it would season 2 episode 2 under next episode (or I think maybe its called 'new episode') now instead it tells me that the next episode is in fact season 1 episode 1. Obviously I can mark all episodes before my point as watched (and did do that in the end) but it doesnt work very well for a lot of shows, where I might dip in and out. This could also just be the way it is supposed to work but I remember pretty clearly it working the other way before. Any help would be greatly appreciated! Thanks again for this basically essential add on.

I should note also that I am using Kody Leia 19

Store Widget shortcuts further down in paths like Tags or Widgets

Hi Marcel
I am not sure if this is the right place to mention this, given that I don't even know if this is an 'issue' or rather a 'feature request' and if this is really part of the skin helper widgets script or perhaps rather part of skin shortcuts.
Therefore please forgive me in case I am at the wrong place and kindly point to the correct place.
As even my title may be confusing, please allow me to explain what I am after in more detail using a specific example:
I am trying to use the 'Next Episodes' as Widget, but not on the entire TV Show library, but rather filtered (using a Tag in my case, but could also be a Genre in principle).
When I manually navigate down the path using the Skin Helper Service Widgets plugin, I can to to 'TV Shows' - 'Tags', then select the respective Tag I want (acting as filter) and below that use the 'Next Episodes' node to end up seeing exactly what I want. Having seen this already got me excited as I figured I could also assign this as source of a widget.
However, when trying to set up the widget accordingly (btw. I am using the latest Titan Krypton Beta Skin), I can only go as far as 'TV Shows' - ' Tags' and then the Widget assignment wizard exits and in the respective skinshortcuts properties file I see the corresponding widget path as plugin://script.skin.helper.widgets/?action=tags&mediatype=tvshows....
I guess the latest by now you get where I am getting to: The resulting widget lists my TV Show tags and if I select one from the Widget I can continue to navigate down to 'Next Episodes', but of course I would like those next episodes (only those with the selected Tag) to show up directly in the widget.

Does that sound doable? Is there perhaps already a clever solution or workaround for that?

I am aware, that I could use custom playlists or video nodes for simple widgets like 'In progress Movies'. However, I believe the nature of 'Next Episodes' to be quite tricky and therefore don't expect that to work there.

In any case, thanks for all your great work and thanks for any hints regarding
the topic here.

Regards
Daniel

Similar Movies displaying results for wrong movie

After starting Kodi, the first time I check similar movies on a movie (info button with Titan skin), it will display the correct result. Checking a different movie after this will only return the previous results. There's a short delay when checking similar movies, indicating it's actually re-calculating the results.

Works as expected when called from the Similar Movies widget on the homescreen.

I think this may be an issue with lines 110 or 118 in movies.py, where imdb_id or ref_movie aren't being set properly. I'm not sure where those are set so I don't know how to start debugging.

[Bug] Seren Icons option is not working due to Seren 2.0 Realease

This is not really a big deal but I would love to have the icons again from Auramod just because it suits Seren more with this skin. I love this skin so much and i wanna say thank you so much for making this skin possible with Kodi 19.

Btw, Is it ok to send me the seren icons png images? i want to send them to Nixgates incase he uses them for his next release soon.

Widget Refresh shouldn't reload the selected widget.

idk if this is a bug or a function(or even this addon sorry to bother if it is), but if the content is refreshing/reloading the whole widget row will refresh along with the selected content.

I feel like this is frustrating because if I'm reading a movie's info and it changes, I have to go find it again.

This seems to get more complicated if you're inside a selected movie's info page and the widget row refreshes outside, so when you exit all new content is displayed and what you just previously selected and exited from is no longer selected or there.

I run an auramod setup btw.

Kodi 19 compatibility - Python 3 migration

The time is coming. As far as I can tell although Kodi 19 has no firm release date, it's stable enough for daily use, and it marks the transition to Python 3, with Python to at end of life this year.

To wit, it would useful to upgrade this addon to Python 3 and produce a Kodi 19 compatible version.

Channel logos not showing in Landscape layouts

Hi Marcel,

I have a hack solution below, but I don't understand why it's needed. Perhaps you can provide some insight?

The issue is that with the "Enable artwork lookups for PVR" setting off, channel logos are not appearing in widgets using the Landscape, Landscape Large Netflix, or Landscape Small layouts.

The channellogo variable in the process_channel function of pvr.py is set correctly. For example
special://userdata/addon_data/pvr.nextpvr/nextpvr-ch7285.png

As mentioned in PR #32 I thought it was an encoding issue because not decoding the item.art.thumb value seemed to fix it, but I discovered that this only worked if the item.art.thumb value did not match the item.channellogo value, so there was something else going on.

After a lot of digging through the source files to see where the thumb and channellogo values get used I found in addons/skin.titan/1080i/IncludesViewsLayoutLandscape.xml in the ThumbsViewItemLayout when the thumb and channellogo are different the <!--thumb image--> gets displayed, but when they're the same the <!--fallbabck logo image--> is supposed to be shown, but it's not.

The check for EnablePVRThumbs in the last value in the ClearLogoFallback variable is not working

        <value condition="!Skin.HasSetting(SkinHelper.EnablePVRThumbs) + !IsEmpty(ListItem.Thumb) + StringCompare(ListItem.Thumb,ListItem.Property(channellogo))">$INFO[ListItem.Thumb]</value>

I discovered that if I remove !Skin.HasSetting(SkinHelper.EnablePVRThumbs) + from the line then the logos get rendered, but this doesn't make much sense. I definitely have the "Enable artwork lookups for PVR" settings off, so that condition I removed should be evaluating to true and removing it should have no effect.

My solution

When "Enable artwork lookups for PVR" is off I would expect the thumb to rendered in the <!--thumb image-->, not the <!--fallback logo image--> with the unnecessarily increased border.

I've managed to get it working with a bit of a hack. I've added

        if self.enable_artwork:
            item["extraproperties"] = {"enableartwork": "true"}

near the end of the process_channel function in pvr.py, then in the <!--thumb image--> control I've prefixed

<visible>![!String.IsEmpty(ListItem.Thumb) + String.IsEqual(ListItem.Thumb,ListItem.Property(channellogo))]</visible>

with !ListItem.Property(enableartwork) |

and in <!--fallback logo image--> I've added

<visible>ListItem.Property(enableartwork)</visible>

This works, but it's a bit ugly. It'd be better if I could get Skin.HasSetting(SkinHelper.EnablePVRThumbs) to work. Do you have any ideas why it's not?

nate

--
I'm testing with

  • Krypton 17.6
  • skin.titan.kryptonbeta - 1.7.65

[request] Auto refresh content providers in library windows

Hi Marcel,

Apart from widgets I use the script provided content paths in library views. Recommended episodes for example is a great way to catch up on all my shows. The only shortcoming here is that there is no auto refresh when used in the library. I have to exit the window and re-enter for it to update.

Is there any way you can make auto refresh possible in library views too?

This script Bob wrote for me at the time did just that but I guess some changes in Kodi made the auto refresh stop working there too. I have been looking at trying to fix that myself but it is beyond my expertise at the moment I'm afraid.

Cheers,
Jeroen

cannot import name TheTvDb

Hello,



i got the nearly the same error like this :



<br />21:49:36.514 T:1306522512 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- <br /> - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! <br /> Error Type: <type 'exceptions.ImportError'> <br /> Error Contents: cannot import name TheTvDb <br /> Traceback (most recent call last): <br /> File "/home/kodi/.kodi/addons/script.skin.helper.widgets/plugin.py", line 9, in <module> <br /> import main <br /> File "/home/kodi/.kodi/addons/script.skin.helper.widgets/resources/lib/main.py", line 18, in <module> <br /> from artutils import ArtUtils, process_method_on_list <br /> File "/home/kodi/.kodi/addons/script.module.skin.helper.artutils/lib/artutils.py", line 28, in <module> <br /> from thetvdb import TheTvDb <br /> ImportError: cannot import name TheTvDb <br /> -->End of Python script error report<-- <br />21:49:36.717 T:1948012800 ERROR: GetDirectory - Error getting plugin://script.skin.helper.widgets/ <br />21:49:36.718 T:1948012800 ERROR: CGUIMediaWindow::GetDirectory(plugin://script.skin.helper.widgets/) failed <br />





Greets,

Marcel

PVR channel group widget duplicates after refresh

Hello my friend,

I use the Skin helper service to add PVR Channel groups as widgets.

It often starts off displaying the groups correctly, but after an automatic widget refresh the groups become duplicated (both groups display the exact same channels). When that happens, even browsing the groups through the the Skin helper service directly via the addon section, the PVR groups will default to showing the same chanels. Browsing the groups through the simple IPTV client is fine and the groups display correctly there.

The issue is generally triggered by the changing of the widget's settings (banners,size etc.) or by the automatic built in widget refresh or by a manual refresh as well (the last 2 methods do not always cause the problem but eventually will).

To fix it, Kodi needs to be restarted (this will generally work but sometimes more than one restart is necessary).

Tried this on 3 different Windows setups as well as on 2 Android devices.. exact same behaviour.

You can see below what the problem looks like, one pic shows the correct widgets with the right channels, and the other the same widgets but now the channels are duplicated from one of the other groups. Running on krypton 17.4 - titan 3.7.63 - skin.helper.widgets 1.0.35 (tried 1.0.36 as well)

screenshot003
screenshot004

PVR channels widget doesn't pass other artwork types (e.g. poster / fanart).

Had a few reports that PVR channels widgets are only passing through the thumb image that is defined in managed artwork. I checked and it seems that even if posters / fanart etc are manually defined inside the MyPVR* windows the widgets do not fill ListItem.Art(poster) or ListItem.Art(fanart) etc.

Are these possible to add?

improve performance

Since Kodi v18 it is possible to supply an offscreen=True param to the listitem class, which should dramatically increase the performance of creating listing items.

path as filter does not allow forward slashes

Hi Marcel

I'm currently using a feature added in following merge to filter a list of episodes by path.
e.g. plugin://script.skin.helper.widgets/?action=recent&path=m:\series&mediatype=episodes&reload=$INFO[Window(Home).Property(widgetreload-episodes)]']

However by the time the api is called the path filter has been transformed to m:/series and doesn't match my setup anymore.

Any reason why this is happening?

I'm running following setup:
Kodi v18 alpha1 on Windows 10
EstuaryModV2 2.3.1
script.skin.helper.widgets 1.0.28

Kind Regards
Laurens

Filter recommended items on genre?

Over at Kodi-Alexa we make use of this script to provide recommended items to the user.

We currently support inquiries that include specified genres as well, like:

Alexa, ask Kodi to play a random Comedy movie
Alexa, ask Kodi what new Family movies do we have?
Alexa, ask Kodi to watch a random Sci-Fi tv show

We'd like to extend this to inquiries for recommended items as well, which would mean adding a tag like:

plugin://script.skin.helper.widgets/?action=recommended&mediatype=movies&genre=Comedy

Would it be feasible to add a new genre tag to recommended for music, artists, albums, songs, music videos, movies, and shows?

If you can provide a little guidance on how you think this should go, I don't mind doing the work to implement it. We'd rather extend your script than duplicate effort, if possible.

Adjust PVR info shown in the fullscreen widget

I am using a PVR and configured the home screen to show a widget with TV channel group on the home screen (Additional Widgets --> Skin Helper Service Widgets --> PVR --> TV channels: ). As I am using pvr artwork this looks really nice, however there is some info I am missing.

This is how it looks for my Shows library: Screenshot
Below the show name, there is additional info (like year, MPAA rating and watched progress for shows / duration, end time for movies). For PVR some internal info is shown (Systemname of Kodi and version of the skin in use).

Can you adjust that row to show: Name of the PVR Channel, Year and start/end time? Basically same information as shown in the programme information screen. By the way, on the full screen widget the button "more information" does not work (I expected it fwd to programme information).

Thank you so much.

Recent TV channel fails to load selection

The widgets content is correct but making a selection does nothing. Even if one right clicks an item inside the widget an option is available to "Play" but never does anything. Would love to fix this if it's a command line issue that could be fixed.

[Request] Next episodes and in progress media in the same list

Asked this on the forums a while back (september), and you said "maybe in a few weeks", but haven't seen any mention of it. Maybe I missed it? Thought I'd add it here, easier to keep track of the requests.
Here's a link to my forum post.

So:

I would like to have a widget on my home screen that displays in progress media, but combined with next episodes.

Atm, if you play an episode of a series to the end, it goes away from the list (since it's not in progress anymore) and the next one isn't added. With this it would add the next episode to the list. So, say I watch s03e05 of Breaking Bad until the end, I would like it to add s03e06 to the list (if unwatched ofc), and put it up front (since that's what I last watched, even though that particular episode is not "lastplayed").

And in the same list, there are in progress movies too. So if I then watch a movie, it would put that at the front (since being "lastplayed"). I.e., they are mixed, just like in progress media.

If possible, if would be cool if it added the next movie in a set to the list too. Like, say I watched Ice Age 1, it would then add Ice Age 2 to the front of the list. Not sure that's doable, though?

Again, if this was added and I missed it, please point me in the right direction!

Isue widgets top250 TVShows: version-1.0.23

missing def. for KODI_VERSION in script.skin.helper.widgets\resources\lib\utils.py
http://forum.kodi.tv/showthread.php?tid=235676&pid=2538997#pid2538997

`ADDON_ID = "script.skin.helper.widgets"
KODI_VERSION = int(xbmc.getInfoLabel("System.BuildVersion").split(".")[0])
KODILANGUAGE = xbmc.getLanguage(xbmc.ISO_639_1)

def kodi_json(jsonmethod, params=None, returntype=None):
'''get info from the kodi json api'''
kodi_json = {}
kodi_json["jsonrpc"] = "2.0"
kodi_json["method"] = jsonmethod
if not params:
params = {}
kodi_json["params"] = params
kodi_json["id"] = 1
json_response = xbmc.executeJSONRPC(try_encode(json.dumps(kodi_json)))
json_object = json.loads(json_response.decode('utf-8', 'replace'))
# set the default returntype to prevent errors
if "details" in jsonmethod.lower():
result = {}
else:
result = []
if 'result' in json_object:
if returntype and returntype in json_object['result']:
# returntype specified, return immediately
result = json_object['result'][returntype]
else:
# no returntype specified, we'll have to look for it
if isinstance(json_object['result'], dict):
for key, value in json_object['result'].iteritems():
if not key == "limits":
result = value
break
else:
return json_object['result']
else:
log_msg(json_response)
log_msg(kodi_json)
return result`

Widget content with "Next Page"

I have some add ons that scrape in lists of 30-40 items and then contain a "Next Page" option in the list. The problem comes in that selecting this "Next Page" option then jumps out of the widget and loads the add on, and yes at the next page list. Is there a way to refresh the widget with the "Next Page" content instead of exiting the widget to the add on?

Tags return partial matches

Tags return on partial matches. If I have items tagged, "TV", "Anime TV", "Kids TV", all results will be returned, when only "TV" should be returned.

Below is the example script I've been testing with, it's basic from the readme, simply added the tag param.
plugin://script.skin.helper.widgets/?action=next&mediatype=episodes&tag=TV&reload=$INFO[Window(Home).Property(widgetreload)]

And here is a working tag with a space, properly returns only items tagged "Kids TV".
plugin://script.skin.helper.widgets/?action=next&mediatype=episodes&tag=Kids TV&reload=$INFO[Window(Home).Property(widgetreload)]

Genre listing partially broken

@marcelveldt

Hey Marcel,

the genre listing is partially broken if you enter the directory directly.

Example:
ActivateWindow(videos,plugin://script.skin.helper.widgets/?action=browsegenres&mediatype=movies&limit=1000)
->
The list isn't sorted correctly and the assigned target DBIDs are wrong (eg "Drama" #3 -> opens "Family")

As soon as I use the path inside a custom container and force the sortby value to "sorttitle" everything is correct.

Still having trouble with the Favorites widget.

Before I get into the issue; I want to thank you for the work that you do! Your Kodi add-ons are quite brilliant, and they make skinning much easier for people like myself who don't possess the same level of technical skill as yourself.

I noticed recently that after an update the Favorites Widget stopped working. It still displays items in the Favorites list as is always has, but it will not launch any of those items. All the other widgets seem to be functioning normally; it only seems to effect the favorites.

While trying to find a solution to the issue I stumbled across a closed issue in the skin helper service issues; issue #83. I noticed that you said the issue should be taken care of in the latest update, so I thought I would make sure that I had the latest version of the skin helper widgets addon and try again. It seems like I am running the latest version (1.0.22), but the issue still presents itself.

I'm not sure if it makes a difference, but I am using Android and the issue is present when using both Krypton, & Jarvis. Perhaps I am doing something wrong; any help would be appreciated.

Thanks Again!

Next airing only for unwatched + in-progress

I realised that the next-airing-episodes would show only for the tv shows that had at least one outstanding episode.
I fixed it by removing filter=filter from appropriate part of episodes.py .

I'm not sure if that's a bug? Obviously, I am interested in knowing when the next episode comes out, even if (or, especially when?) I have already caught up on all the series!

Time in Next Airing Episodes widget read as 08/06/1905

Time in Next Airing Episodes widget read as 08/06/1905. I am using Kodi 17 and Arctic Zephyr skin. I also had the Skin Helper Widget doing a Recently Added Episodes widget and the same issue occurred. If you navigate to the right through the posters of shows, the date increased by one day (or however many it should), but the date was still in 1905.

It seems to work correctly in SPMC 16.5.5 Kodi Jarvis.

If you need more information, please let me know.

Thank you.
Derek

invalid content type

Is it really necessary to set Container.Content to favourites in the favourites nodes?

Favourites is not a valid content type and it messes up conditions I have in place.

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.