• 1
  • 81
  • 82
  • 83(current)
  • 84
  • 85
Release plugin.video.themoviedb.helper - Access to TheMovieDb API for Skinners
@kittmaster - see above missing closing tags on controls and window

Also note that add_path=$INFO[ListItem.FolderPath] can only be used for items that come from TMDbHelper lists so if you are using it from somewhere else it will not work.

You must use add_query for library items as per the wiki
https://github.com/jurialmunkey/plugin.v...o-for-item



Also this bit of code is wrong and should not be in the window
Code:

<control type="list" id="1190">
<itemlayout/>
<focusedlayout/>
<content>plugin://plugin.video.themoviedb.helper/?info=details&type=movie&query=$INFO[ListItem.Title]</content>
</control>
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
Actually my paste action did not include the closing tag as I was rushing to get to bed, I've been cobbling together examples just to see if I could get it working. Here is the entire contents of the cobble and everything in it. You will find I did have a </window> tag at the end:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<window type="window" id="1190">
    <defaultcontrol always="true">9999</defaultcontrol>
    <controls>
        <include>Global_Background</include>
        <include>Topbar</include>
        <control type="list" id="9999">
            <top>-1000</top>
            <left>-1000</left>
            <width>1</width>
            <height>1</height>
            <itemlayout />
            <focusedlayout />
            <content target="videos">$INFO[Window(Home).Property(TMDbHelper.Path.Current)]</content>
        </control>
        <control type="group">
            <visible>Container(9999).IsUpdating</visible>
            <visible>!Window.IsVisible(DialogVideoInfo.xml)</visible>
            <include>Dialog_Busy</include>
        </control>
    </controls>


    <control type="list" id="1190">
        <itemlayout/>
        <focusedlayout/>
        <content>plugin://plugin.video.themoviedb.helper/?info=details&type=movie&query=$INFO[ListItem.Title]</content>
    </control>
    <!-- <label>$INFO[Container(1190).ListItemAbsolute(0).Property(rottentomatoes_rating)]</label> -->
    <label>$INFO[Container(1190).ListItem.Title</label>
   
<!--     <control type="list" id="1190">
                            <width>1</width>
                            <height>1</height>
                            <itemlayout />
                            <focusedlayout />
                            <content>plugin://plugin.video.themoviedb.helper/?info=details&type=person&query=[Container(7000).ListItem.Label]</content>
                        </control>
                         <control type="label">
                            <left>-100</left>
                            <top>825</top>
                            <align>center</align>
                            <font>Font_trailer</font>
                            <label>[Container(7000).ListItem.Label]</label>
                        </control>
                        <control type="label">
                            <left>970</left>
                            <top>0</top>
                            <font>Font_bio30</font>
                            <label>Born: [Container(1190).ListItem.Property(born)]</label>
                            <visible>!Container(1190).IsUpdating</visible>
                        </control>
                         <control type="label">
                            <left>970</left>
                            <top>100</top>
                            <font>Font_bio30</font>
                            <label>Birthday: [Container(1190).ListItem.Property(birthday)]      Died Aged: [Container(1190).ListItem.Property(age)]    Death: [Container(1190).ListItem.Property(deathday)]</label>
                            <visible>!Container(1190).IsUpdating + !String.IsEmpty([Container(1190).ListItem.Property(deathday)])</visible>
                        </control>
                         <control type="label">
                            <left>970</left>
                            <top>100</top>
                            <font>Font_bio30</font>
                            <label>Birthday: [Container(1190).ListItem.Property(birthday)]      Age: [Container(1190).ListItem.Property(age)]</label>
                            <visible>!Container(1190).IsUpdating + String.IsEmpty([Container(1190).ListItem.Property(deathday)])</visible>
                        </control>
                       
                         <control type="textbox">
                            <left>970</left>
                            <top>200</top>
                            <width>810</width>
                            <height>360</height>
                            <font>font_plot</font>
                            <label>[Container(1190).ListItem.Property(biography)]</label>
                            <autoscroll delay="10000" time="3000" repeat="10000">!Skin.HasSetting(noallowscroll)</autoscroll>
                            <visible>!Container(1190).IsUpdating</visible>
                        </control>
                        <control type="textbox">
                            <left>970</left>
                            <top>200</top>
                            <width>810</width>
                            <height>360</height>
                            <font>font_plot</font>
                            <label>No Bio Available</label>
                            <autoscroll delay="10000" time="3000" repeat="10000">!Skin.HasSetting(noallowscroll)</autoscroll>
                            <visible>String.IsEmpty([Container(1190).ListItem.Property(biography)])</visible>
                        </control> -->
</window>

I will remove the code and try to update the URL call and see what happens. Just trying to wrap my head around how it works... I think once I figure that out, I can figure the rest, I just need to "see" it work so I'll have an approach.

Thank you for the validator link, I have used that in the past and few times early on here also.

Chris
Kodi: Nexus v20.5 | Skin: Madnox.redux : Current Version: 20.00.11 | Forum | Madnox.redux v3 Repo
Mr. V's Original Source
Reply
Ok, maybe I'm not understanding what this is supposed to do, but here is what I was looking for it TODO. Using the Embuary original script, when I click the "TMDb Info" button, it goes out and parse, then builds this page from the data it gets that is available. I think we all know that gist. But since I'm still trying to figure out all the inner workings, I think I am stuck on the basics and I can't figure out the basics if I don't know the right question to ask. So maybe this can help you help me. I am trying to replicate what I already have but use the plugin to do the new work since the script is not longer doing the heavy lifting. This is what I'm looking to replicate:

Image

Right now I'd just be happy if I could get the grid table to show up and populate the text part of it so I can see the inner workings.

So I modded the code and now I "get something" but not what I expect.... probably because I've asked the wrong question or I just don't understand the query/content functionality (yet).

So here are the changes I made code i.e. when press "TMDb Info" button it drops this function:

Code:

    <variable name="VideoInfoTMDbVar">

        <onclick><value condition="String.IsEqual(ListItem.DBType,movie)">RunScript(plugin.video.themoviedb.helper,add_path=$INFO[ListItem.FolderPath])</value></onclick>
        <value condition="String.IsEqual(ListItem.DBType,movie)">RunScript(plugin.video.themoviedb.helper,add_query=$INFO[ListItem.Label],type=movie,call_auto=1190)</value>
        <!-- <value condition="String.IsEqual(ListItem.DBType,movie)">RunScript(script.embuary.info,call=movie,dbid=$INFO[ListItem.DBID])</value> -->
        <value condition="String.IsEqual(ListItem.DBType,tvshow)">RunScript(script.embuary.info,call=tv,dbid=$INFO[ListItem.DBID])</value>
    </variable>

The basic template from GitHub replacement:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<window type="window" id="1190">
    <defaultcontrol always="true">9999</defaultcontrol>
    <controls>
        <include>Global_Background</include>
        <include>Topbar</include>
        <control type="list" id="9999">
            <top>-1000</top>
            <left>-1000</left>
            <width>1</width>
            <height>1</height>
            <itemlayout />
            <focusedlayout />
            <content target="videos">$INFO[Window(Home).Property(TMDbHelper.Path.Current)]</content>            
        </control>
        <control type="group">
            <visible>Container(9999).IsUpdating</visible>
            <visible>!Window.IsVisible(DialogVideoInfo.xml)</visible>
            <include>Dialog_Busy</include>
        </control>
    </controls>
    <!-- <label>$INFO[Container(1190).ListItemAbsolute(0).Property(rottentomatoes_rating)]</label> -->
    <label>$INFO[Container(9999).ListItem.Title</label>
</window>


What is doing now:

Image


So I have to "select" from the ones I want, I'm sure that is what the query is doing. My expectation was, I already have the movie in focus (where I could hit play), I am looking for it to retrieve from TMDB is to plug in the known TMDB as it is already known in my database, use that number ID, go to TMDB and get the "title" and return it.

So, clearly, I don't fully have a handle on this, what do I have to change or can I "see" some working source code example to show me how to do this "basic" thing to figure out how to use the plugin correctly.

I'm still trying to get a handle on how all this works, so I apologize for the 101 type question.
Kodi: Nexus v20.5 | Skin: Madnox.redux : Current Version: 20.00.11 | Forum | Madnox.redux v3 Repo
Mr. V's Original Source
Reply
Any words of wisdom? Thx.
Kodi: Nexus v20.5 | Skin: Madnox.redux : Current Version: 20.00.11 | Forum | Madnox.redux v3 Repo
Mr. V's Original Source
Reply
Your variable is wrong - remove the onclick tags.

xml:
<variable name="VideoInfoTMDbVar">
<onclick>
<value condition="String.IsEqual(ListItem.DBType,movie)">RunScript(plugin.video.themoviedb.helper,add_path=$INFO[ListItem.FolderPath])</value>
</onclick>
<value condition="String.IsEqual(ListItem.DBType,movie)">RunScript(plugin.video.themoviedb.helper,add_query=$INFO[ListItem.Label],type=movie,call_auto=1190)</value>
<!-- <value condition="String.IsEqual(ListItem.DBType,movie)">RunScript(script.embuary.info,call=movie,dbid=$INFO[ListItem.DBID])</value> -->
<value condition="String.IsEqual(ListItem.DBType,tvshow)">RunScript(script.embuary.info,call=tv,dbid=$INFO[ListItem.DBID])</value>
</variable>
Reply
I removed the Onclicks, now when I press the button, the screen just closes and I'm back to the main page with all the movies showing.
Kodi: Nexus v20.5 | Skin: Madnox.redux : Current Version: 20.00.11 | Forum | Madnox.redux v3 Repo
Mr. V's Original Source
Reply
(2024-03-09, 14:59)kittmaster Wrote: I removed the Onclicks, now when I press the button, the screen just closes and I'm back to the main page with all the movies showing.

Because as I mentioned above, this is not valid for an item not from TMDbHelper
Code:

<value condition="String.IsEqual(ListItem.DBType,movie)">RunScript(plugin.video.themoviedb.helper,add_path=$INFO[ListItem.FolderPath])</value

You can only use add_path for TMDbHelper items. Otherwise you need to query the lookup using add_query instead. Additionally, as per the wiki, you can use other lookup params for e.g. imdb_id or year to help narrow the query down so that you do not need to select a match.

(2024-03-07, 16:02)kittmaster Wrote: So I have to "select" from the ones I want, I'm sure that is what the query is doing. My expectation was, I already have the movie in focus (where I could hit play), I am looking for it to retrieve from TMDB is to plug in the known TMDB as it is already known in my database, use that number ID, go to TMDB and get the "title" and return it.

Specify additional lookup params to narrow down the query results as I mentioned before -- tmdb_id= can be passed as an additional param alongside add_query to get an exact match.
https://github.com/jurialmunkey/plugin.v...parameters
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
Hi jurialmunkey, I have a question regarding Trakt comments...

I recently added it to my recommendations dialog but I noticed it defaults to date added and not something like most helpful or most likes. Not exactly sure what the default is when browsing the website.

Is there a way to display it based on that criteria instead of the date or is that how it is sent over the api?

Thanks Smile
Reply
Hi, I'm dealing with a problem regarding to this addon that I can't get fixed. I constantly get the error message "TheMovieDbHelper error" on kodi and it's pretty annoying.
As for the logs the error is this:
Code:
2024-03-16 19:46:35.473 T:21791 info <general>: [plugin.video.themoviedb.helper]
CACHE: Deleting Corrupt File: /home/<username>/.kodi/userdata/addon_data/plugin.video.themoviedb.helper/database_v6/TraktAPI.db...
2024-03-16 19:46:35.473 T:21791 info <general>: [plugin.video.themoviedb.helper]
CACHE: Initialising: /home/<username>/.kodi/userdata/addon_data/plugin.video.themoviedb.helper/database_v6/TraktAPI.db...
2024-03-16 19:46:35.473 T:21791 info <general>: [plugin.video.themoviedb.helper]
CACHE: Exception while initializing _database: Cursor() argument 1 must be sqlite3.Connection, not sqlite3.Connection (2)
database_v6_TraktAPI.db_simplecache
2024-03-16 19:46:36.228 T:21788 warning <general>: CPythonInvoker(44, /home/<username>/.kodi/addons/plugin.video.palantir3/default.py): the python script "/home/<username>/.kodi/addons/plugin.video.palantir3/default.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon7xbmcgui6WindowE,N9XBMCAddon9xbmcaddon5AddonE,N9XBMCAddon7xbmcgui6WindowE,N9XBMCAddon7xbmcgui6WindowE,N9XBMCAddon4xbmc7MonitorE,N9XBMCAddon4xbmc7MonitorE,N9XBMCAddon4xbmc7MonitorE,N9XBMCAddon7xbmcgui6WindowE
2024-03-16 19:46:36.494 T:21791 info <general>: [plugin.video.themoviedb.helper]
CACHE: Initialising: /home/<username>/.kodi/userdata/addon_data/plugin.video.themoviedb.helper/database_v6/TraktAPI.db...
2024-03-16 19:46:36.494 T:21791 info <general>: [plugin.video.themoviedb.helper]
CACHE: Exception while initializing _database: Cursor() argument 1 must be sqlite3.Connection, not sqlite3.Connection (1)
database_v6_TraktAPI.db_simplecache
2024-03-16 19:46:37.494 T:21791 info <general>: [plugin.video.themoviedb.helper]
CACHE: Initialising: /home/<username>/.kodi/userdata/addon_data/plugin.video.themoviedb.helper/database_v6/TraktAPI.db...
2024-03-16 19:46:37.494 T:21791 info <general>: [plugin.video.themoviedb.helper]
CACHE: Exception while initializing _database: Cursor() argument 1 must be sqlite3.Connection, not sqlite3.Connection (0)
database_v6_TraktAPI.db_simplecache
2024-03-16 19:46:37.495 T:21791 info <general>: [plugin.video.themoviedb.helper]
lib.addon.cache get_cache
Error Type: AttributeError
Error Contents: ('__enter__',)
File "/home/<username>/.kodi/addons/script.module.jurialmunkey/resources/modules/jurialmunkey/logger.py", line 10, in wrapper
return func(self, *args, **kwargs)
File "/home/<username>/.kodi/addons/script.module.jurialmunkey/resources/modules/jurialmunkey/bcache.py", line 34, in get_cache
return self._cache.get(cache_name, cur_time=cur_time)
File "/home/<username>/.kodi/addons/script.module.jurialmunkey/resources/modules/jurialmunkey/scache.py", line 89, in get
return result or self._get_db_cache(endpoint, cur_time) # Fallback to checking database if not in memory
File "/home/<username>/.kodi/addons/script.module.jurialmunkey/resources/modules/jurialmunkey/scache.py", line 147, in _get_db_cache
cache_data = self._execute_sql(query, (endpoint,))
File "/home/<username>/.kodi/addons/script.module.jurialmunkey/resources/modules/jurialmunkey/scache.py", line 270, in _execute_sql
with self._get_database() as _database:
Already tried deleting the database_v6 folder but it keeps showing after every restart.
Did anyone faced this issue?
Can you guide me on what else can I do?
Reply
(2024-03-14, 11:28)mikeSiLVO Wrote: I recently added it to my recommendations dialog but I noticed it defaults to date added and not something like most helpful or most likes. Not exactly sure what the default is when browsing the website.
Is there a way to display it based on that criteria instead of the date or is that how it is sent over the api?

Wasn't possible before but I just added it. Will be in v5.2.20
https://github.com/jurialmunkey/plugin.v...f195ebda5f

Code:
info=trakt_comments&amp;sort=likes

Can see the values it accepts here:
https://trakt.docs.apiary.io/#reference/...e-comments

newest , oldest , likes , replies , highest , lowest , plays
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
Hi,
With the TMDB Helper widgets, do you know if there is a way to have a Trakt indicator on the covers, to indicate which films are in the Trakt watchlist? Just like the little box that indicates the films that are in the media library.
Reply
For some strange reason my ISP seems to have blocked access to themoviedb.org  - Is there any proxy that I can use?
Reply
(2024-03-17, 11:52)jurialmunkey Wrote: Wasn't possible before but I just added it. Will be in v5.2.20
https://github.com/jurialmunkey/plugin.v...f195ebda5f

Code:
info=trakt_comments&amp;sort=likes

Can see the values it accepts here:
https://trakt.docs.apiary.io/#reference/...e-comments

newest , oldest , likes , replies , highest , lowest , plays

Just tested it, works perfectly.
Thank you Smile
Reply
Is there a way to add to trakt list using a plugin:// url? I looked through the guide/wiki below and didn't see anything specific regarding adding to list. I'm basically trying to make a "Player" .json file that will take the TMDB info from that process and add it to a trakt list, making a player called "Add to Trakt List". A universal context-menu item with same functionality would solve the same UX "painpoint" I'm trying to alleviate (if possible that way).

Link referenced:
Your guide here
Reply
(2024-03-28, 20:36)ElmosFunhouse Wrote: Is there a way to add to trakt list using a plugin:// url? I looked through the guide/wiki below and didn't see anything specific regarding adding to list. I'm basically trying to make a "Player" .json file that will take the TMDB info from that process and add it to a trakt list, making a player called "Add to Trakt List". A universal context-menu item with same functionality would solve the same UX "painpoint" I'm trying to alleviate (if possible that way).

Link referenced:
Your guide here

There is already a context menu item on all TMDb Helper items called "Trakt options". From this menu you can add to a list using "Add to user list"

There is no plugin:// folderpath for this command because it is a command, not a folder.

The command to open this menu manually is:

Code:

RunScript(plugin.video.themoviedb.helper,sync_trakt,tmdb_id=1396,tmdb_type=tv,season=1,episode=1,cache_refresh)

But as mentioned above, this already exists in the context menu, so there is no reason to create a player for it.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
  • 1
  • 81
  • 82
  • 83(current)
  • 84
  • 85

Logout Mark Read Team Forum Stats Members Help
plugin.video.themoviedb.helper - Access to TheMovieDb API for Skinners2