4lb3rtO / service.nfo.watchedstate.updater

Update your watchedstate in the nfo files as soon as this happens in the XBMC library
Other
9 stars 10 forks source link

Can't get addon to work with ftp-streamed library #2

Open mach-o opened 8 years ago

mach-o commented 8 years ago

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

mach-o commented 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.

mach-o commented 8 years ago

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.