Open mach-o opened 8 years ago
So I was totally off-base here: xmbcvfs transparently handles ftp, which has absolutely nothing to do with the problem I was experiencing.
My problem was that the add-on assumes that absolutely everything in the library comes with its own well-formed nfo file, which is not the case for me. I've submitted a pull request with a change that has the addon create a new nfo file when the watched status is changed and when no nfo file already exists.
Silly me: I revoked my pull request after realizing that simply writing the watched status to an nfo on its own prevents Kodi from loading any of the other associated video metadata, which is obviously not what I want. I'm now waiting on the answer to a question I asked in the add-on developer forum about the best way to handle this situation, but if anyone here would like to clue me in with an answer, please do.
My library is streamed to Kodi from an ftp server on my network to which the NFO WatchedState updater doesn't seem to want to write.
When I mark a video as watched, a popup message appears in the GUI stating "NFO WatchedState Updater: File not found". I'd assume that the expected behaviour is to have the add-on create an nfo file with the same base name as the video. None is created. I don't see anything particularly interesting in the debug log. The ftp user has write access to the library folder on the ftp server.
When I first enabled the addon, I would also see a message "Errno: 111, connection refused, please check remote control settings" even though I had enabled System » Settings » Services » Remote Control » Allow remote control by programs on (this system + other systems). But re-starting Kodi seemed to fix this.
Kodi version: 15.1 (stable ubuntu repository) NFO WatchedState Updater version: 1.1.1
$ cat .kodi/temp/kodi.log | grep watchedstate
15:00:52 T:139754146134208 DEBUG: ADDON: cpluff: 'Plug-in service.nfo.watchedstate.updater has been installed.'
15:00:53 T:139753109718784 DEBUG: CPythonInvoker(0, /home/macho/.kodi/addons/service.nfo.watchedstate.updater-master/default.py): start processing
15:00:53 T:139753109718784 DEBUG: CPythonInvoker(0, /home/macho/.kodi/addons/service.nfo.watchedstate.updater-master/default.py): the source file to load is "/home/macho/.kodi/addons/service.nfo.watchedstate.updater-master/default.py"
15:00:53 T:139753109718784 DEBUG: CPythonInvoker(0, /home/macho/.kodi/addons/service.nfo.watchedstate.updater-master/default.py): setting the Python path to /home/macho/.kodi/addons/service.nfo.watchedstate.updater-master:/usr/lib/python2.7:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PILcompat:/usr/lib/python2.7/dist-packages/gtk-2.0:/usr/lib/python2.7/dist-packages/ubuntu-sso-client
15:00:53 T:139753109718784 DEBUG: CPythonInvoker(0, /home/macho/.kodi/addons/service.nfo.watchedstate.updater-master/default.py): entering source directory /home/macho/.kodi/addons/service.nfo.watchedstate.updater-master
15:00:53 T:139753109718784 DEBUG: CPythonInvoker(0, /home/macho/.kodi/addons/service.nfo.watchedstate.updater-master/default.py): instantiating addon using automatically obtained id of "service.nfo.watchedstate.updater" dependent on version 2.19.0 of the xbmc.python api