Scan certain paths with json seems broken in Nexus
#1
hello, since many kodi versions ago I have until I now switched to nexus had a script which scans shows like this:
curl --user kodi:kodi -H 'Content-Type: application/json' --data-binary '{"jsonrpc": "2.0", "method": "VideoLibrary.Scan", "params": {"directory":"davs://us:pass@FiDo.no:443/dav/pub/tv-serier/The%20White%20Lotus%20(2021)/Season%2002/"},"id": "1"}' http://192.168.17.85:8080/jsonrpc

I have debug enabled but kodi seems to be doing almost nothing.

2022-11-28 08:07:14.489 T:5065    debug <general>: easy_acquire - Created session to https://fido.no
2022-11-28 08:07:15.064 T:5065     info <general>: VideoInfoScanner: Finished scan. Scanning for video info took 1015 ms
Reply
#2
I seems like the json is working ok but you might want to turn on component logging for json and libcurl to get more ideas.

scott s.
.
Reply
#3
yes, the log is 

https://dumpinen.com/3lEL0nH7LV9


maybe is the propfind that doesent work?
when it looks for .nomedia I get a 404.
nexus on windows is able to scan those directorys.
Reply
#4
it looks exactly like this thread 

https://forum.kodi.tv/showthread.php?tid=367308

since I use nginx though I can not switch to NTLM
Reply
#5
I think its becouse on windows it sends header depth 1 and on libreelec 11 its sends header 0, when doing this manually you need depth 1
Reply
#6
try changing https://github.com/xbmc/xbmc/blob/master...y.cpp#L106
Reply
#7
sadly did not help
cpp:
 - HEADER_IN: HTTP/1.1 207 Multi-Status                                                                                                     
T:808     debug <general>: Curl:Big Grinebug - HEADER_IN: Server: nginx/1.22.1                                                                                                          
T:808     debug <general>: Curl:Big Grinebug - HEADER_IN: Date: Wed, 30 Nov 2022 09:38:48 GMT                                                                                           
T:808     debug <general>: Curl:Big Grinebug - HEADER_IN: Content-Type: text/xml; charset=utf-8                                                                                         
T:808     debug <general>: Curl:Big Grinebug - HEADER_IN: Content-Length: 3176                                                                                                          
T:808     debug <general>: Curl:Big Grinebug - HEADER_IN: Connection: keep-alive                                                                                                        
T:808     debug <general>: Curl:Big Grinebug - HEADER_IN: Strict-Transport-Security: max-age=31536000; includeSubdomains                                                                
T:808     debug <general>: Curl:Big Grinebug - TEXT: Excess found: excess = 3176 url = /dav/pub/tv-serier/The%20White%20Lotus%20(2021)/Season%2002/ (zero-length body)                  
T:808     debug <general>: Curl:Big Grinebug - TEXT: Connection #0 to host fido.no left intact                                                                                     
T:808     debug <general>: Curl:Big Grinebug - TEXT: RESOLVE fido.no:443 is - old addresses discarded                                                                              
T:808     debug <general>: Curl:Big Grinebug - TEXT: Added fido.no:443:9.9.9.9 to DNS cache                                                                                 
T:808     debug <general>: Curl:Big Grinebug - TEXT: Found bundle for host: 0x69a48ba0 [serially]              
i can not replicate this with cmd curl.

I dont know about those stuff, badget (curl creator) said

bagder> it means it read data when it is in "stop_reading" mode

i also tried both http1 and http2, no difference
Reply
#8
I am not sure if this will help but I saw http2 headers in your logs with Nginix.  It might be possible this is a session multiplexing issue with http2 headers.  You might try adding --http1.1 to your curl command to for disabling http2 headers.  I doubt it will work but is worth a try.  Maybe even try --http1.0 to disable all pipelining too and get to a 1:1 connect to session model. 


Jeff
Running with the Mezzmo Kodi addon.  The easier way to share your media with multiple Kodi clients.
Service.autostop , CBC Sports, Kodi Selective Cleaner and Mezzmo Kodi addon author.
Reply
#9
thanks, but made no difference. Also in kodi I have tried both http1 and http2.

on windows I can also see HEADER_OUT: Range: bytes=0- in headers_out which does not appear on libreelec
Reply
#10
here is log from le11: https://dumpinen.com/WXiRoIEntUu
here is working log from windows/nexus: https://dumpinen.com/aRxB9Rex0ix

with component log
Reply
#11
I setup a new webdav folder without password but result is the same.
Reply
#12
...
Reply
#13
just for info I just tested with lighttpd and without password. still same problem
Reply
#14
same with x86 libreelec.. how can this be? any ideas on how I can debug this further @wsnipex or @arnova
Reply
#15
I installed kodi in a docker instead with https://github.com/matthuisman/docker-kodi-headless/ and there it works, so I guess it's something only in libreelec.

thanks for the help guys
Reply

Logout Mark Read Team Forum Stats Members Help
Scan certain paths with json seems broken in Nexus0