Kodi Community Forum

Full Version: Library dependencies to Update to Python 3
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
script.module.pil is included in kodi on all platforms, so android as well.

in case you're having issues, please test it using the latest nightly build and provide a Debug Log.
After a long journey I managed to find my issue with HD Station in QNAP's QTS. I had to chroot into the right directory. So I got to the point where I successfully installed pycryptodomex on the HD Station and after adding a symbolic link
ln -s /usr/lib/python3/dist-packages/Crypto /usr/lib/python3/dist-packages/Cryptodome

finally the Crypto library was found by KODI (or the Netflix plugin respectively).

Nonetheless I still get a Netflix Plugin error:
Quote:2020-09-10 11:36:19.740 T:33288 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
    - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
   Error Type: <class 'ImportError'>
   Error Contents: cannot import name 'Padding'
   Traceback (most recent call last):
      File "/opt/Kodi19L/.kodi/addons/plugin.video.netflix/resources/lib/common/credentials.py", line 29, in <module>
      from Crypto.Util import Padding
   ImportError: cannot import name 'Padding'

   During handling of the above exception, another exception occurred:

   Traceback (most recent call last):
      File "/opt/Kodi19L/.kodi/addons/plugin.video.netflix/service.py", line 13, in <module> from resources.lib.run_service import run
      File "/opt/Kodi19L/.kodi/addons/plugin.video.netflix/resources/lib/run_service.py", line 18, in <module> from resources.lib.common import select_port, get_local_string, get_current_kodi_profile_name
      File "/opt/Kodi19L/.kodi/addons/plugin.video.netflix/resources/lib/common/__init__.py", line 15, in <module> from .credentials import *
      File "/opt/Kodi19L/.kodi/addons/plugin.video.netflix/resources/lib/common/credentials.py", line 33, in <module> from Cryptodome.Util import Padding
   ImportError: cannot import name 'Padding'
   -->End of Python script error report<--
2020-09-10 11:36:19.740 T:33288 DEBUG: onExecutionDone(0, /opt/Kodi19L/.kodi/addons/plugin.video.netflix/service.py)
Here is the full KODI log:
http://paste.kodi.tv/ewejowolap

Any ideas what causes the padding issue?
I was able to fix the issue by myself. The problem was, that I hadn't realized that the HD Station is a chroot based Ubuntu 18.04 subsystem within the QNAP QTS Linux.

Once I got the helpful hint, I was able to fix the issue simply by issueing a chroot command after logging into my QNAP as admin.
In my case (TBS-453DX with one single WD RED SA500 SSD) the HD Station resides in the directory /share/CACHEDEV1_DATA/.qpkg/HD_Station

After the chroot /share/CACHEDEV1_DATA/.qpkg/HD_Station I was able to install the cryptodomex library. All it needed was a symbolic link and a manual download of a Padding.py which was missing in the /Util folder and finally the Netflix plugin works under KODI running on a QNAP.

You can find my full step by step description here (currently the last comment in the thread):
https://github.com/asciidisco/plugin.vid...issues/665
I would also like parsedom, is it going to happen or do we need to rewrite with a different parser?
@ronie
It would be great if someone packages the current beautifulsoup4 for both Matrix and Leia. The ones in the repo are quite old (4.6.x) and buggy while parsing html5 sites. The current version is 4.9.3 and is supported on both Python 2 and 3 (separate packages), so would be great if made available for Matrix as well as the older versions of Kodi.

bs4 relies on soupsieve module as a dependency. For Leia and below, this would be ver1.9.6 and for Matrix it would be 2.1.0

I have packaged and tested them, but I dont know If I am allowed to raise PR in the repo-plugins as I am not the maintainer
@gujal  the version in the matrix repo is 4.8.2 (not 4.6.x).
if you want to update the matrix version to 4.9.3 you're more than welcome to submit a PR.

for Leia and lower, i would prefer to stick with what we have.
a new version of a python module may not be 100% backward compatible and an update could potentially break addons that are using it.

so we'd rather not take the risk for stable versions of kodi, but updates for the next version of kodi are fine.
(2020-12-28, 18:40)ronie Wrote: [ -> ]@gujal  the version in the matrix repo is 4.8.2 (not 4.6.x).
if you want to update the matrix version to 4.9.3 you're more than welcome to submit a PR.

for Leia and lower, i would prefer to stick with what we have.
a new version of a python module may not be 100% backward compatible and an update could potentially break addons that are using it.

so we'd rather not take the risk for stable versions of kodi, but updates for the next version of kodi are fine.
Yeah, Sorry, the Leia version is 4.6.x which is really old. I did package and test 4.9.3 on Leia as my addon IMDBTrailers uses it and works fine. Having the same version available for Leia and Matrix makes it easier to maintain a single codebase for the addon
Will do a PR as per your advice
Hi, 

is there alternative to : script.module.parsedom
i cant find matrix support for this one Sad

same goes for : simple.downloader
wonder if there is a python 3 of this anywhere.
(2020-03-19, 16:35)scott967 Wrote: [ -> ]I have extendedinfo working along with dependency module.kodi65.  Unfortunately, the upstream repo on github has preliminary changes made for py2/py3 compatibility while my fixes are based on the released version in the Kodi repo.  Making a python3-only version for Matrix is much simpler (for me, anyway). 

The only shortfall now is the youtube / youtube-dl dependency as I'm not sure the py3 status of those addons.  The addon runs without youtube to provide the other enhanced info.

scott s.
.
Scott: Do you have any plans to publish this updated kodi65 to the repository? I can help if you like, since I depend upon this addon as well. I have been using an earlier version of your modified kodi65 without any problems, although I use it in a fairly limited fashion. I am now updating to your "1.2.1+matrix.3" version.

Also, youtube.dl is now up to 21.303.0+matrix.1. Is there any reason to not include dependency on xbmc.addon 19.0.0? I suppose that it is redundant with python 3.0.0.
(2019-10-14, 15:16)docwra Wrote: [ -> ]List of Python Modules that need to be upgraded

.......
PILhttps://forum.kodi.tv/showthread.php?tid=348192 https://github.com/xbmc/xbmc/pull/17143 *Fixed thx paxxi*
BeautifulSoup4https://forum.kodi.tv/showthread.php?tid=347007 *Fixed*
script.common.plugin.cachehttps://github.com/anxdpanic/script.common.plugin.cache *Fixed thx to anxdpanic*
script.module.mechanize - http://mirrors.kodi.tv/addons/matrix/scr....mechanize
pycryptodomex - https://pypi.org/project/pycryptodomex/
script.module.parsedom
script.module.elementtree
script.module.inputstreamhelper
script.module.routing *Fixed thx to sualfred*
script.module.youtube.dl
script.extendedinfo -> discontinued. Skinners should use https://forum.kodi.tv/showthread.php?tid=345847

Hi,

Is anyone know what is the status of "script.module.elementtree"?
When will it have a Matrix version?

Thanks.
Is it really needed? Python has its own ElementTree implementation.
(2021-09-28, 18:43)Roman_V_M Wrote: [ -> ]Is it really needed? Python has its own ElementTree implementation.

This is not my addon.
Meanwhile I removed this dependency from the addon and it seems to be ok for now.
It's probably using 'xml.etree.ElementTre' instead.
So you can ignore this unless I have a problem.
Thanks.
Pages: 1 2 3