kodi-community-addons / script.skin.helper.widgets Goto Github PK
View Code? Open in Web Editor NEWWidgets provided by Skinhelper
License: GNU General Public License v2.0
Widgets provided by Skinhelper
License: GNU General Public License v2.0
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
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
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.
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.
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.
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.
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)
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.
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
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
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.
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)]
The widget works as described, but for music albums it shows individual tracks as separate entities, not the album as a single item. Is that just the way the widget works, or is there a setting I need to change?
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.
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!
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
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!
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.
Hello,
I am using SkinHelperService to create a Favorites widget but it is not working.
I am using a "paste substitute" in my advancedsetting.xml file in userdata because my "favorites.xml" file is on my SMB network.
Is there a way to get the widget to work as it only works with the local favorites file in userdata.
Thanks for your help.
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`
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.
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!
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.
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.
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
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
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?
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?
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.