• 1
  • 46
  • 47
  • 48(current)
  • 49
  • 50
  • 84
Release plugin.video.themoviedb.helper - Access to TheMovieDb API for Skinners
(2021-01-30, 02:55)jurialmunkey Wrote:
(2021-01-28, 18:04)D-m-x Wrote: Hi,

I'm having a strange problem and wanted to see if anyone else seen it, or even has a solution. I have two PI's with Libreelec setup and TMDB Helper 4.2.10. On both I have added the same OMDB API Key (which is working fine, I tried it via Browser), but I do receive in TMDB Helper Connection Error Messages (to OMDB API) so I'm not able to see some of the ratings. This is a snippet of the relevant log line, there's nothing more above or below that regarding this issue:

Code:
2021-01-28 14:52:30.282 T:1786553216  NOTICE: LoadJpeg: unable to load special://skin/extras/backgrounds/mountains3.jpg
2021-01-28 14:53:30.965 T:1583313792  NOTICE: script.xbmcbackup-1.1.3: scheduler enabled, finding next run time
2021-01-28 14:53:30.970 T:1583313792  NOTICE: script.xbmcbackup-1.1.3: scheduler will run again on 01-30-2021 03:00
2021-01-28 14:54:00.954 T:966783872  NOTICE: [plugin.video.themoviedb.helper]
                                            ConnectionError: HTTPConnectionPool(host='www.omdbapi.com', port=80): Read timed out. (read timeout=10)
                                            Suppressing retries for 1 minute

Naturally I would assume something is blocked/requests are not getting answered in time but I can query the api properly from both machines with a quick test:
Code:
Libreelec:~ # curl 'http://www.omdbapi.com/?i=tt3896198&apikey=myapikey'
{"Title":"Guardians of the Galaxy Vol. 2","Year":"2017","Rated":"PG-13","Released":"05 May 2017","Runtime":"136 min","Genre":"Action, Adventure, Comedy, Sci-Fi","Director":"James Gunn ..."
Additionally using ping to reach the host doesn't show anything unusual (response time wise).

Hitting the 1000 req/day limit should also be out of the question because I can query the api and receive information back (as seen above). I'm using the same with metadatautils and Arctic Horizon, no problems there.

Any idea? Would be appreciated.

So basically TMDbH suppresses retries to an API server for 60 seconds if it encounters connection issues. The suppression happens under one of three circumstances: (1) we get a 429 "Too Many Requests" response; (2) we get a 500 "Internal Server Error" response; or (3) the request times out after 10 seconds (which is what is happening here).

The main reason I suppress retries (rather than just dropping that specific request) is because generally these scenarios are ongoing and if we keep retrying with requests we just hold everything up but ultimately end up with the same result (no data because no response).

For (1), if we keep making requests we just extend the rate limit cooldown period, so it is better to stop and let it cool-off.
For (2), if the server is down, the server is down - hammering it with retries isn't going to make it come back up faster.

For the situation here (3 - timeout), I force the cooldown not because it is necessary but because if the server is slow it is generally better to load what we have rather than holding everything up because of network congestion. FYI - the timeout only happens with server/network congestion - you'd get a 400 unauthorised error if it was due to hitting the request limit (or your api key was wrong).

The call from TMDbH asks for a lot more data than the basic standard call, so it is very possible that although the server is able to serve the simple request fast, there might be database congestion which makes serving the more complex response slower
'http://www.omdbapi.com/?i={imdb}&t={title}&y={year}&plot=full&tomatoes=True&r=xml&apikey={apikey}'

I have noticed in the past few weeks that there has been some timeout issues with OMDb. I could be less aggressive about suppression for timeouts as sometimes it is just a one off where only one particular request is slow. But I also figure for something as small as OMDb which doesn't have heaps of resources it is nicer to suppress requests and it give it breather rather than bombarding a clearly struggling server with even more requests - plus the suppression is only a minute, so its not like it is a long time to wait.
Thank you for the very detailed explanation, that is very helpful and also interesting! I didn't know they had trouble with the servers lately, but it does make a lot of sense. For fun I used the call you provided and tried it, works fine on my Pi's so I would assume this is solved, simply a server overload  Tongue
Reply
Hello

I have done to get cast information with my hidden container list(9200) as below. It works well but it looks some delay 1-2 sec when it change to other movie or actor. Is there any way to remove delay?

This is code what I have done
MyVideoViewList.xml
xml:

<control type="panel" id="9200">
            <left>-3000</left>
            <top>-3000</top>
            <width>1</width>
            <height>1</height>
            <visible>Control.HasFocus(904) </visible>
            <itemlayout height="10" width="10" />
            <focusedlayout height="10" width="10" />
            <content target="videos">plugin://plugin.video.themoviedb.helper/?info=details&amp;type=person&amp;query=$INFO[Container(904).ListItem.Label]</content>
</control>

<control type="group">
...
<control type="label">
                <width>400</width>
                <height>30</height>
                <font>primal_13_bold</font>
                <label fallback="N.A">$INFO[Container(9200).ListItem.Property(Age)]</label>
                <textcolor>$VAR[ColorFontSelected]</textcolor>
                <shadowcolor>$VAR[ColorFontShadow]</shadowcolor>
            </control>
            <control type="label">
                <width>400</width>
                <height>30</height>
                <font>primal_13_bold</font>
                <label fallback="N.A">$INFO[Container(9200).ListItem.Property(Birthday)]</label>
                <textcolor>$VAR[ColorFontSelected]</textcolor>
                <shadowcolor>$VAR[ColorFontShadow]</shadowcolor>
            </control>
            <control type="label">
                <width>600</width>
                <height>30</height>
                <font>primal_13_bold</font>
                <label fallback="N.A">$INFO[Container(9200).ListItem.Property(Born)]</label>
                <textcolor>$VAR[ColorFontSelected]</textcolor>
                <shadowcolor>$VAR[ColorFontShadow]</shadowcolor>
            </control>
</control>

<control type="panel" id="904">
....
 <itemlayout height="225" width="180">
....
 </itemlayout>
 <focusedlayout height="225" width="180">
.....
</focusedlayout>
<content>$VAR[EmbuaryCast]</content>
Variables.xml
xml:

<variable name="EmbuaryCast">
        <value condition="String.IsEqual(ListItem.DBType,movie) + !String.IsEmpty(ListItem.DBID) + !String.IsEqual(ListItem.DBID,0)">plugin://script.embuary.helper?info=getcast&amp;type=movie&amp;dbid=$INFO[ListItem.DBID]</value>
</variable>
Reply
Hi

Is there a way to skip the showing of cast members who don't have an image on tmdb, as it shows generic tmdb blank image in list?

Maybe your script could have option to only pull cast members with images only if possible.

Thanks
Reply
(2021-01-30, 01:11)jurialmunkey Wrote:
(2021-01-04, 17:48)extremeaudio Wrote:
(2021-01-04, 01:48)jurialmunkey Wrote:  
If you missed the auto update, it should run on next startup. Note however that there is a delay of about 10-15 minutes before it starts
I could be wrong but I dont think this is happening. Any way to check?
Reply
I am currently receiving the following error message "Suppressing retries for 1 minute". The log also displays the following:

txt:
2021-02-04 17:33:55.580 T:140605849302784  NOTICE: [plugin.video.themoviedb.helper]
                                            ConnectionError: HTTPConnectionPool(host='www.omdbapi.com', port=80): Read timed out. (read timeout=10)
                                            Suppressing retries for 1 minute
2021-02-04 17:33:56.354 T:140605849302784  NOTICE: [plugin.video.themoviedb.helper]

I have an OMDB valid API key, so I am not sure why this just started happening today. Thanks in advance for any help .

Shedrock
Reply
(2021-02-05, 02:46)shedrock Wrote: I am currently receiving the following error message "Suppressing retries for 1 minute". The log also displays the following:

txt:
2021-02-04 17:33:55.580 T:140605849302784  NOTICE: [plugin.video.themoviedb.helper]
                                            ConnectionError: HTTPConnectionPool(host='www.omdbapi.com', port=80): Read timed out. (read timeout=10)
                                            Suppressing retries for 1 minute
2021-02-04 17:33:56.354 T:140605849302784  NOTICE: [plugin.video.themoviedb.helper]

I have an OMDB valid API key, so I am not sure why this just started happening today. Thanks in advance for any help .

Shedrock
me too
Reply
Just a quick question, is the "jurialmonkey alpha repo" no longer in use?

Is the "repository.jurialmunkey-2.0" the correct repo to use now?

Or are they one and the same?
If I have helped you or increased your knowledge please click the 'Thumb Up - Like' button to show me your appreciation :)
For YouTube questions see the official thread here.
Reply
(2021-01-31, 08:12)kenmoon Wrote: Hello

I have done to get cast information with my hidden container list(9200) as below. It works well but it looks some delay 1-2 sec when it change to other movie or actor. Is there any way to remove delay?

This is code what I have done
MyVideoViewList.xml
xml:

<control type="panel" id="9200">
            <left>-3000</left>
            <top>-3000</top>
            <width>1</width>
            <height>1</height>
            <visible>Control.HasFocus(904) </visible>
            <itemlayout height="10" width="10" />
            <focusedlayout height="10" width="10" />
            <content target="videos">plugin://plugin.video.themoviedb.helper/?info=details&amp;type=person&amp;query=$INFO[Container(904).ListItem.Label]</content>
</control>

<control type="group">
...
<control type="label">
                <width>400</width>
                <height>30</height>
                <font>primal_13_bold</font>
                <label fallback="N.A">$INFO[Container(9200).ListItem.Property(Age)]</label>
                <textcolor>$VAR[ColorFontSelected]</textcolor>
                <shadowcolor>$VAR[ColorFontShadow]</shadowcolor>
            </control>
            <control type="label">
                <width>400</width>
                <height>30</height>
                <font>primal_13_bold</font>
                <label fallback="N.A">$INFO[Container(9200).ListItem.Property(Birthday)]</label>
                <textcolor>$VAR[ColorFontSelected]</textcolor>
                <shadowcolor>$VAR[ColorFontShadow]</shadowcolor>
            </control>
            <control type="label">
                <width>600</width>
                <height>30</height>
                <font>primal_13_bold</font>
                <label fallback="N.A">$INFO[Container(9200).ListItem.Property(Born)]</label>
                <textcolor>$VAR[ColorFontSelected]</textcolor>
                <shadowcolor>$VAR[ColorFontShadow]</shadowcolor>
            </control>
</control>

<control type="panel" id="904">
....
 <itemlayout height="225" width="180">
....
 </itemlayout>
 <focusedlayout height="225" width="180">
.....
</focusedlayout>
<content>$VAR[EmbuaryCast]</content>
Variables.xml
xml:

<variable name="EmbuaryCast">
        <value condition="String.IsEqual(ListItem.DBType,movie) + !String.IsEmpty(ListItem.DBID) + !String.IsEqual(ListItem.DBID,0)">plugin://script.embuary.helper?info=getcast&amp;type=movie&amp;dbid=$INFO[ListItem.DBID]</value>
</variable>

No not possible - theres always going to be a delay because the info has to be retrieved from an online server. Plus there is processing time of that data.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
(2021-02-01, 03:46)the_bo Wrote: Hi

Is there a way to skip the showing of cast members who don't have an image on tmdb, as it shows generic tmdb blank image in list?

Maybe your script could have option to only pull cast members with images only if possible.

Thanks
You could use the exclude filter I guess. See the wiki on github for details.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
(2021-02-05, 02:46)shedrock Wrote: I am currently receiving the following error message "Suppressing retries for 1 minute". The log also displays the following:

txt:
2021-02-04 17:33:55.580 T:140605849302784  NOTICE: [plugin.video.themoviedb.helper]
                                            ConnectionError: HTTPConnectionPool(host='www.omdbapi.com', port=80): Read timed out. (read timeout=10)
                                            Suppressing retries for 1 minute
2021-02-04 17:33:56.354 T:140605849302784  NOTICE: [plugin.video.themoviedb.helper]

I have an OMDB valid API key, so I am not sure why this just started happening today. Thanks in advance for any help .

Shedrock

See my previous reply to D-M-X.

Seems like omdb has been having some server issues lately with timeouts.

All a time out means is that the server didn't respond in 10 seconds so we stop trying for a minute rather than hold everything up.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
(2021-02-01, 17:45)extremeaudio Wrote:
(2021-01-30, 01:11)jurialmunkey Wrote:
(2021-01-04, 17:48)extremeaudio Wrote:
If you missed the auto update, it should run on next startup. Note however that there is a delay of about 10-15 minutes before it starts
I could be wrong but I dont think this is happening. Any way to check?
There are logs of updates in the log_update folder in the userdata/addon_data folder for TMDBh. You can check to see if you had an update from that time.

It should also mention jn your kodi log if an update happened.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
Thank you @jurialmunkey.

Shedrock
Reply
(2021-02-07, 01:02)jurialmunkey Wrote:
(2021-02-01, 17:45)extremeaudio Wrote:
(2021-01-30, 01:11)jurialmunkey Wrote: If you missed the auto update, it should run on next startup. Note however that there is a delay of about 10-15 minutes before it starts
I could be wrong but I dont think this is happening. Any way to check?
There are logs of updates in the log_update folder in the userdata/addon_data folder for TMDBh. You can check to see if you had an update from that time.

It should also mention jn your kodi log if an update happened.
It works perfectly. It only misses the library update if the internet is down when kodi starts. Thats what believed me to think otherwise. Thanks!
Reply
Where should I install TMDB helper from now? Kodi official repo or jurialmonkey repo? Jurialmonkey repo addon does not seem to be updating the library at startup but the kodi one is.
Reply
Hi @jurialmunkey i have a strange behaviour on home menu, which is using skinshortcuts to show widgets. Whenever I start and stop a movie from a widget, the tmdbhelper dialog box appears afterwards where I can select a player. This affacts for me only the tmdbhelper widget content like "movies -> popular". 

Here is a detailed description:
(2021-03-03, 00:28)gotslack Wrote: This issue is easily reproducible:
1. I started with an empty/clean Kodi 19 on Windows, nothing in AppData\Roaming\Kodi.
2. Installed TMDBHelper from Jurial's repo, installed this skin from your repo, installed Youtube addon from Kodi Official repo.
3. I made no changes to settings on TMDBHelper. I added my api keys to Youtube so it could playback video. I added a widget to the home screen for TMDBHelpr > Movies > Popular.
4. Arrowed up to the widget I created and clicked enter on the first movie in the widget. On the Choose Action dialog I picked play with Youtube.
5. Youtube started video playback of trailer. I hit enter, clicked the stop button on  the OSD, it went back to the home screen.
6. On the home screen, the busy icon animation ran and said loading content, then the Choose Action dialog box popped back up again as if I had hit enter on the widget to select a movie. No key on the keyboard had been touched since I clicked stop on the OSD.

I was able to relate the behavior to the following hidden-lists code in home.xml:

xml:
<control type="list" id="44023">
    <visible>ListItem.IsCollection</visible>
    <top>-3000</top>
    <left>-3000</left>
    <width>1</width>
    <height>1</height>
    <itemlayout/>
    <focusedlayout/>
    <content>videodb://movies/sets/$INFO[ListItem.DBID]/?setid=$INFO[ListItem.DBID]</content>
</control>
<control type="list" id="44022">
    <visible>String.IsEqual(ListItem.DBType,album)</visible>
    <top>-3000</top>
    <left>-3000</left>
    <width>1</width>
    <height>1</height>
    <itemlayout/>
    <focusedlayout/>
    <content>$INFO[ListItem.FolderPath]</content>
</control>

With this, i get information about albums and sets (number of titles and movies in a set) from the focused widget-item. If i am not using these hidden lists, everything is fine. I was able to recreate this behavior on other skins by adding the hidden-lists to home.xml. 

Do you have any idea what could cause this behavior? Maybe im doing something wrong with my lists.
Reply
  • 1
  • 46
  • 47
  • 48(current)
  • 49
  • 50
  • 84

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