2019-02-10, 14:12
We run a kodi in each room of the house and like to have the same settings on each. When we install a new add-on, we experiment with settings and like these to be the same too, in all rooms. So we use a file server with a "kodi clients" alias and each client has path substitution:
Unfortunatly, the netflix add on gets confused between the local addon_data directory and the shared directory :-(
There is in fact no local '/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/' directory:
Oh, by the way, without the path substitution, the add on works very well (LibreELEC 9.0), but we'll go mad updating all the clients while we tweak the user interface.
Code:
<advancedsettings>
<pathsubstitution>
<substitute>
<from>special://profile/addon_data/</from>
<to>smb://fileserver/KodiClient/userdata/addon_data/</to>
</substitute>
...
log:12:33:53.032 T:140259297527552 WARNING: SMBFile::OpenForWrite() called with overwriting enabled! - smb://fileserver/KodiClient/userdata/addon_data/plugin.video.netflix/settings.xml
12:34:16.822 T:140259297527552 WARNING: Previous line repeats 2 times.
12:34:16.822 T:140259297527552 WARNING: SMBFile::OpenForWrite() called with overwriting enabled! - smb://fileserver/KodiClient/userdata/addon_data/script.module.inputstreamhelper/settings.xml
12:34:19.504 T:140259297527552 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.IOError'>
Error Contents: [Errno 2] No such file or directory: '/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/tmp/1.4.9.1088-linux-x64.zip'
Traceback (most recent call last):
File "/storage/.kodi/addons/plugin.video.netflix/addon.py", line 33, in <module>
NAVIGATION.router(paramstring=REQUEST_PARAMS)
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/utils.py", line 60, in wrapped
result = func(*args, **kwargs)
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/Navigation.py", line 253, in router
infoLabels=params.get('infoLabels', {}))
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/utils.py", line 60, in wrapped
result = func(*args, **kwargs)
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/Navigation.py", line 313, in play_video
timeline_markers=self._get_timeline_markers(metadata))
File "/storage/.kodi/addons/plugin.video.netflix/resources/lib/KodiHelper.py", line 908, in play_item
if not is_helper.check_inputstream():
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper.py", line 763, in check_inputstream
return self._check_drm()
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper.py", line 741, in _check_drm
return self._check_widevine()
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper.py", line 655, in _check_widevine
return self._install_widevine()
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper.py", line 540, in _install_widevine
return self._install_widevine_x86()
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper.py", line 442, in _install_widevine_x86
downloaded = self._http_request(download=True)
File "/storage/.kodi/addons/script.module.inputstreamhelper/lib/inputstreamhelper.py", line 304, in _http_request
with open(self._download_path, 'wb') as f:
IOError: [Errno 2] No such file or directory: '/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/tmp/1.4.9.1088-linux-x64.zip'
-->End of Python script error report<--
12:34:19.702 T:140259297527552 WARNING: CPythonInvoker(4, /storage/.kodi/addons/plugin.video.netflix/addon.py): the python script "/storage/.kodi/addons/plugin.video.netflix/addon.py" has left several classes in memory that we couldn't clean up. The classes include: N9XBMCAddon9xbmcaddon5AddonE
There is in fact no local '/storage/.kodi/userdata/addon_data/script.module.inputstreamhelper/' directory:
but it can be found in the file server (with unfortunately an empty cdm and tmp directory):bash:~/.kodi/userdata/addon_data # ls
browser.chrome pvr.hts
peripheral.joystick service.libreelec.settings
plugin.audio.radio_de skin.estuary
The install of the netflix add on has correctly created and filled a cdm directory in ~/.kodi/bash:/data/KodiClient/userdata/addon_data/script.module.inputstreamhelper# ls -lR
.:
total 12
drwxrwx--- 2 hts video 4096 feb 10 12:26 cdm
-rw-rw---- 1 hts video 88 feb 10 12:34 settings.xml
drwxrwx--- 2 hts video 4096 feb 9 22:52 tmp
./cdm:
total 0
./tmp:
total 0
Oh, by the way, without the path substitution, the add on works very well (LibreELEC 9.0), but we'll go mad updating all the clients while we tweak the user interface.