• 1
  • 149
  • 150
  • 151(current)
  • 152
  • 153
  • 155
Release script.extendedinfo
This should work on Krypton Matrix obviously/Nexus/Omega as is.  No problem if you need to fork.  But instead of using the API key that gets passed in the TMDB query, I switched to the "token" option that is in the http header so it isn't just a cut/paste change.  I have to travel tomorrow and will be out for a couple days, should be online Tues but limited ability to do much beyond reply to messages.

scott s.
.
Reply
Star 
@scott967

Thanks for your reply. I saw you already edited out Krypton from your post by now, so i don't need to mention much anymore about the two co-existing add-on generations (5.x/6.x).

Yep, i saw the switch to token-style auth - i already "de-obfuscated" the token to get the plain "old school style" api key from your token which i _could_ use for a fixed 5.x Krypton version of the add-on without further changes besides replacing the old key.
But i would not want to use your new key for a backport and make it accessible in plain before asking you since i don't know if you switched to the token method by intent to keep things at least a bit more obfuscated. Smile

- Not knowing the reason why the old api key is suddenly invalid after so many years let me to believe that there might be a correlation to you switching to token style with the new key for the latest version
- Backporting the whole new token-style auth to version 5.6.0 (8+ years old) might be a bit too complicated because of the extensive differences in the code between then and now, i guess?

Core question maybe:

- Do you care if your new key would be used in a plain & non-obfuscated way for a quick-and-simple 5.x.x fixed version for Krypton?

No hurry at all and happy to wait for input whenever the time is right.
Good travels.
⬅️⬅️ Leave 👍 on useful posts  ·  axbmcuser REPO (Easy install)  ·  Confluence ZEITGEIST (intuitive UI for Kodi)
Reply
See PM.

scott s.
.
Reply
Hi, apologies if this is a daft question. Following the latest posts it appears that changing the API key will restore the addon functionality for older versions, namely 5.6.0. for Leia.

I have created my own TMDB account, requested an API key and modified the relevant .py file, replacing the old key. The addon still throws an error Undecided am I missing something?
Reply
For python 2 version on Lexus that should work, but I will take a look at Lexus and see (haven't worked on python 2 ver at all).  If you turn on debug logging and get any errors logged or exceptions that would help to see also.

scott s.
.
Reply
Thanks for taking the time to reply scott.

Environment: My main Kodi installs are Coreelec 18.9, with a centralised Maria DB. Apart from the youtube plugin, my setup it pretty vanilla and has run flawless for years.
To get a clean log, and for ease of testing, I've installed 18.9 on Windows, I get the same error with extendedinfo. This is with the modified API Key.

LOG
Reply
I have the same problem with my Leia 18.9 install of ExtendedInfoScript - however only on the Vero 4K+. On a Windows install I was able to fix it by simply replacing the TMDB key in the .py file. Both scripts are identical to the letter on both platforms.
Reply
This seems very strange, I need to revisit the Windows install and re-test. Thanks for your input
Reply
Figured it out, initial error was because of deprecated script.module.youtube.dl which gets installed by script.extendedinfo

Tested and working on Coreelec 18.9 (Leia) and Windows 10 (Leia 18.9)

1. Install ExtendedInfo Script version 5.6.0
2. Install script.module.youtube.dl-23.910.0
3. Setup account on TMDB and get API key
4. Replace default API key on line 17 in file: \addons\script.extendedinfo\resources\lib\TheMovieDB.py
Reply
Yes, youtube-dl wasn't being maintained and I stripped it out of Extendedinfo for matrix + (python 3).  Youtube-dl was a front end that could run youtube-dlp, and needed to be updated as new youtube-dlp releases come out (about monthly).  It also needs a local copy of ffmpeg because youtube-dlp uses that for "post-processing" -- taking downloaded streams and muxing them into a file.  Note that there were a couple of functions in kodi65 utils that also call youtube-dl.  (I found having kodi 65 -- renamed kutils -- as a standalone module addon too hard to maintain so I include all the files as part of the current script.extendedinfo release.

(Sorry not replying until now -- release of Kodi 21 is keeping me busy)

scott s.
.
Reply
No worries, thanks for the additional info and background Wink
Reply
(2024-04-08, 14:02)alexlark Wrote: Figured it out
Thanks, that finally fixed the ExtendedInfo error!
Reply
Hello @scott967.

I have encountered a problem that applies to version 6.0.7 and version 6.0.8.

The problem is the query "seasoninfo" does not work and returns an error.

My command is:
Code:
RunScript(script.extendedinfo,info=seasoninfo,tvshow=$INFO[ListItem.TvShowTitle],season=$INFO[ListItem.Season])
Here is the error:
Code:
2024-06-23 00:07:36.068 T:15944   error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                                    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                                   Error Type: <class 'TypeError'>
                                                   Error Contents: '>' not supported between instances of 'str' and 'int'
                                                   Traceback (most recent call last):
                                                     File "C:\TEST-KODI20_Nightly\portable_data\addons\script.extendedinfo\default.py", line 103, in <module>
                                                       Main()
                                                     File "C:\TEST-KODI20_Nightly\portable_data\addons\script.extendedinfo\default.py", line 69, in __init__
                                                       listitems = process.start_info_actions(info, self.params)
                                                     File "C:\TEST-KODI20_Nightly\portable_data\addons\script.extendedinfo\resources\lib\process.py", line 399, in start_info_actions
                                                       wm.open_season_info(tvshow=params.get("tvshow"),
                                                     File "C:\TEST-KODI20_Nightly\portable_data\addons\script.extendedinfo\resources\lib\windowmanager.py", line 135, in open_season_info
                                                       season=max(0, season),
                                                   TypeError: '>' not supported between instances of 'str' and 'int'
                                                   -->End of Python script error report<--
                                                   
2024-06-23 00:07:36.068 T:15944   debug <general>: CPythonInvoker::onExecutionDone(76, C:\TEST-KODI20_Nightly\portable_data\addons\script.extendedinfo\default.py)

I got the query "seasoninfo" to work.
I changed line 135 in version 6.0.7 or line 137 in version 6.0.8 in the file "windowmanager.py".

Original code (doesn't work):
Code:
season=max(0, season),
replaced with (works):
Code:
season=season,

This change works perfectly with Kodi Omega.
However, there is still one problem with Kodi Nexus, "seasoninfo" no longer has any script errors, but only the last season of the TV show is displayed, no matter which season I call up.

I hope my information was helpful and you can fix this error.
Reply
@scott967

In Extendedinfo no actor biography is displayed in the selected language, only in English.

I was able to solve the problem by making a change in themoviedb.py.

Original:
python:
def extended_actor_info(actor_id: int) -> tuple[VideoItem, dict[str, ItemList]]:
    """gets ListItem and lists with extended info for actor with actor_id
    data is a dict from JSON returned by tmdb for an actor
    lists is a dict of "append_to_response" queries extracted from data
    info is a Kodi video listitem instance with properties set from data

    Args:
        actor_id (int): the tmdb actor id

    Returns:
        info[VideoItem]: a populated Kodi listitem
        lists[dict]: a dict of kutils131 Itemlists (one per category) Itemlist is sequence
                     of kutils131 VideoItems
        None: if no results from tmdb
    """
    if not actor_id:
        return None
    data: dict = get_data(url="person/%s" % (actor_id),
                        params={"append_to_response": ALL_ACTOR_PROPS},
                        cache_days=1)
    if not data:

Newly replaced by:
python:
def extended_actor_info(actor_id: int) -> tuple[VideoItem, dict[str, ItemList]]:
    """gets ListItem and lists with extended info for actor with actor_id
    data is a dict from JSON returned by tmdb for an actor
    lists is a dict of "append_to_response" queries extracted from data
    info is a Kodi video listitem instance with properties set from data

    Args:
        actor_id (int): the tmdb actor id

    Returns:
        info[VideoItem]: a populated Kodi listitem
        lists[dict]: a dict of kutils131 Itemlists (one per category) Itemlist is sequence
                     of kutils131 VideoItems
        None: if no results from tmdb
    """
    if not actor_id:
        return None
    data: dict = get_data(url="person/%s" % (actor_id),
                        params={"append_to_response": ALL_ACTOR_PROPS,
                        "language": addon.setting("LanguageID"),
                        "include_image_language": "en,null,%s" % addon.setting("LanguageID")},
                        cache_days=1)
    if not data:

My change works, I now receive the actor biography in the selected language, in my case in German.
I hope the information is helpful.

ImageImage

ImageImage
Reply
If anyone has problems displaying information about TV shows, make such a change in the themoviedb.py file

- original:
def get_show_tmdb_id(tvdb_id=None, source="tvdb_id"):
    params = {"external_source": source,
              "language": addon.setting("LanguageID")}
    response = get_data(url="find/%s" % (tvdb_id),
                        params=params)

- new:
​​​​​def get_show_tmdb_id(imdb_id=None, source="imdb_id"):
    params = {"external_source": source,
              "language": addon.setting("LanguageID")}
    response = get_data(url="find/%s" % (imdb_id),
                        params=params)
Reply
  • 1
  • 149
  • 150
  • 151(current)
  • 152
  • 153
  • 155

Logout Mark Read Team Forum Stats Members Help
script.extendedinfo29
This forum uses Lukasz Tkacz MyBB addons.