Deprecated state addons
#1
Now that addon can be shown to be in depreciated state can an addon designed to work in both python 2 and 3 with future, kodi-six etc,  is there are way to supply just one one non-official repo with one source file that will work with Leia and Matrix?  I do plan on fixing the addon to by pure python3 which would be the Matrix+ version.

Martin
Reply
#2
I'm afraid it is not possible to have an addon that works on Matrix and Leia without modifying addon.xml (Python code can be the same). So in case of custom repos you need to maintain 2 repos: one for Matrix and another for lower Kodi versions.
Reply
#3
I thought perhaps a core change to allow something like this could be version independent.

<import addon="xbmc.python" version="2.x.x" max="3.8"/>

could work.  This would tell Kodi it is tested in Matrix and to not disable it which should be the most import consideration.  It could be marked deprecated if version is not 3.

Dependencies would simply draw the current version from the kodi repo.   Custom imports would be left to the addon.

Martin
Reply
#4
After some internal discussions it was decided to do a hard break, meaning that you need to modify at least addon.xml for Matrix. For official repos there is addon-submitter script that in combination with some CI system (GitHub actions, Travis CI etc.) can automate parallel submitting addons to Matrix and lower branches by making the necessary changes in addon.xml for Matrix. Maybe you can adapt it for your needs.
Reply
#5
Thanks for the info.  My goal was to manage just one repo with one filename not having to add a qualifier and I don't see that is possible anymore.  I really don't want to add matrix, my last version worked through from xbmc for eight years and I try not to make installation and upgrading unnecessarily hard.

Martin
Reply
#6
Rather then changing the  <import addon="xbmc.python"....>  what about removing it as suggested by another user who supports a very small number of users?  It will work today and you could mark this deprecated. 

That way I can try and figure out what to I need to do to remove the very helpful kodi-six and future libraries and make a pure python3 version which can have the proper versioning.

Martin
Reply
#7
(2020-09-15, 21:56)emveepee Wrote: Rather then changing the  <import addon="xbmc.python"....>  what about removing it as suggested by another user who supports a very small number of users?  It will work today and you could mark this deprecated. 

That way I can try and figure out what to I need to do to remove the very helpful kodi-six and future libraries and make a pure python3 version which can have the proper versioning.

Martin
If you're only using the xbmc modules from kodi-six, then all you have to do with a pure Python3 implementation is go back to importing the xbmc modules directly. kodi-six just provided the unicode magic for Python2 really.  And if you were using py2encode or py2decode from the kodi-six utilities, those can just be removed. Again, they were just there to help if you're trying to have the same code base between Leia and Matrix.
Reply
#8
Thanks a lot @pkscout that makes it much easier.  I do have 64 py2_ lines to review and I've got several "from future" things that I can also figure out but if it just a matter of removing kodi-six that simplifies things.

Martin
Reply

Logout Mark Read Team Forum Stats Members Help
Deprecated state addons0