Kodi Community Forum
[Nexus] API changes to VideoStreamDetail and InfoTagVideo API's - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=26)
+--- Thread: [Nexus] API changes to VideoStreamDetail and InfoTagVideo API's (/showthread.php?tid=370707)



[Nexus] API changes to VideoStreamDetail and InfoTagVideo API's - Fuzzard - 2022-12-08

Hi everyone.

The API's for InfoTagVideo and VideoStreamDetail were updated in V20 (Nexus) 
A number of setters were introduced in https://github.com/xbmc/xbmc/pull/19459

It was found that there was some inconsistencies in the naming for these API's, and this was causing type error issues, as well as other inconsistencies. see https://github.com/xbmc/xbmc/issues/22169

The following PR was merged after V20 Beta 1 was released to resolve the above issue - https://github.com/xbmc/xbmc/pull/22192

As these APIs were introduced in V20, we felt it was better to update them to be more consistent. This obviously breaks addons relying on member names that have been renamed.
We felt that doing this now, even though we are very close to final V20 release, was better, as otherwise we would have gone into v21, and immediately introduced backwards compatible API breakages.

We are sorry for the hassle this will cause you, but we hope you understand its for the greater good of your sanity come V21.

The demo scrapers were updated in https://github.com/xbmc/xbmc/pull/22192
I have submitted a PR to the
metadata.tvshows.themoviedb.org.python scraper - https://github.com/xbmc/metadata.tvshows.themoviedb.org.python/pull/94

If any other scraper devs have issues doing the changes, let me know, and ill look to PR any changes you need.


RE: [Nexus] API changes to VideoStreamDetail and InfoTagVideo API's - jbinkley60 - 2022-12-17

Ok, I am not totally following this with regards to the RC1 release.  I have an addon that is still using mixed case setters.  I downloaded RC1 and I am not seeing any errors or issues.

An excerpt of the code:

vinfo = li.getVideoInfoTag()
vinfo.setDuration(durationsecs)
if genre_text is not None: vinfo.setGenres(genre_text.split(','))
if len(release_year_text) > 0: vinfo.setYear(int(release_year_text))
vinfo.setTitle(title)

Should this still be working with the InfoTagVideo changes ?


Jeff


RE: [Nexus] API changes to VideoStreamDetail and InfoTagVideo API's - Fuzzard - 2022-12-17

I dont see any reason why that snippet wouldn't work.


RE: [Nexus] API changes to VideoStreamDetail and InfoTagVideo API's - pkscout - 2022-12-17

(2022-12-17, 00:12)jbinkley60 Wrote: Ok, I am not totally following this with regards to the RC1 release.  I have an addon that is still using mixed case setters.  I downloaded RC1 and I am not seeing any errors or issues.

An excerpt of the code:

vinfo = li.getVideoInfoTag()
vinfo.setDuration(durationsecs)
if genre_text is not None: vinfo.setGenres(genre_text.split(','))
if len(release_year_text) > 0: vinfo.setYear(int(release_year_text))
vinfo.setTitle(title)

Should this still be working with the InfoTagVideo changes ?


Jeff
The method calls didn't change.  Some of the optional parameter names did.  Your examples are all method calls, so you're fine.  For example, pre RC1, this call worked:
python:
vtag.setUniqueID(str_value, type=shortkey, isDefault=isTMDB)

With RC1 and later, that doesn't work.  Instead it's:
python:
vtag.setUniqueID(str_value, type=shortkey, isdefault=isTMDB)

"isDefault" changed to "isdefault" and if you use the pre-RC1 syntax post RC1, the add-on will crash with a Type error.


RE: [Nexus] API changes to VideoStreamDetail and InfoTagVideo API's - jbinkley60 - 2022-12-17

(2022-12-17, 12:45)pkscout Wrote: The method calls didn't change.  Some of the optional parameter names did.  Your examples are all method calls, so you're fine.  

For example, pre RC1, this call worked:

vtag.setUniqueID(str_value, type=shortkey, isDefault=isTMDB)

Thank you.  That was the moment of clarity that I was missing.  I'll need to go back through my addon but I am pretty sure I am not using any optional parameters (at least nothing has broken so far) Smile


Jeff