Kodi Community Forum
[RELEASE] Texture Cache Maintenance utility - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Supplementary Tools for Kodi (https://forum.kodi.tv/forumdisplay.php?fid=116)
+--- Thread: [RELEASE] Texture Cache Maintenance utility (/showthread.php?tid=158373)



RE: [RELEASE] Texture Cache Maintenance utility - raspberry_pd - 2014-10-30

See this error with the latest version

Code:
./texturecache.py vscan
Successfully updated from v1.8.1 to v1.8.2
libProfile.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libProfile', u'error': {u'message': u'Method not found.', u'code': -32601}}
Traceback (most recent call last):
  File "./texturecache.py", line 7686, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 7397, in main
    if not checkConfig(argv[0]): sys.exit(2)
  File "./texturecache.py", line 7011, in checkConfig
    profile["name"] = data["result"]["label"]
KeyError: 'result'



RE: [RELEASE] Texture Cache Maintenance utility - Milhouse - 2014-10-30

(2014-10-30, 14:53)raspberry_pd Wrote: See this error with the latest version

What JSON version do you have (if you enable @logfile= it will be at the top), and what build are you using (presumably a Gotham build)?

I thought profile support had been in JSON for quite a while (Aug 2013) but maybe I need to disable it for JSON versions prior to 6.6.0.


RE: [RELEASE] Texture Cache Maintenance utility - raspberry_pd - 2014-10-30

Erm, sorry to cause you strain. One of the XBMCodi versions I toy with is actually very old and that's the one that has failed.

It's currently doing a vscan no worries on the latest OPENElec 4.2.1 which I'm fairly certain is running at least 13.2 Gotham ... yep Git:0f3db05 (Oct 4 2014).

I should be upgrading this older version soon.

Here's the log, appears you're spot on:

Code:
2014-10-31 00:19:27.758826:MainThread: Command line args: ['./texturecache.py', 'vscan', '@logfile=log.txt']
2014-10-31 00:19:27.759781:MainThread: Current version #: v1.8.2
2014-10-31 00:19:27.760409:MainThread: Current platform : linux2
2014-10-31 00:19:27.762013:MainThread: Python  version #: v2.7.3.0 (final)
2014-10-31 00:19:27.778686:MainThread: RPC connection established with IPv4
2014-10-31 00:19:27.779776:MainThread: libVersion.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "method": "JSONRPC.Version", "id": "libVersion"}]
2014-10-31 00:19:27.782580:MainThread: libVersion.BUFFER RECEIVED (len 88)
2014-10-31 00:19:27.789577:MainThread: libVersion.PARSING JSON DATA: {"id":"libVersion","jsonrpc":"2.0","result":{"version":{"major":6,"minor":0,"patch":0}}}
2014-10-31 00:19:27.790535:MainThread: libVersion.PARSING COMPLETE, elapsed time: 0.007156 seconds
2014-10-31 00:19:27.791222:MainThread: libVersion.FINISHED, elapsed time: 0.010776 seconds
2014-10-31 00:19:27.792548:MainThread: libProfile.JSON SOCKET REQUEST: [{"jsonrpc": "2.0", "params": {"properties": ["thumbnail", "lockmode"]}, "method": "Profiles.GetCurrentProfile", "id": "libProfile"}]
2014-10-31 00:19:27.795896:MainThread: libProfile.BUFFER RECEIVED (len 89)
2014-10-31 00:19:27.797506:MainThread: libProfile.PARSING JSON DATA: {"error":{"code":-32601,"message":"Method not found."},"id":"libProfile","jsonrpc":"2.0"}
2014-10-31 00:19:27.798279:MainThread: libProfile.PARSING COMPLETE, elapsed time: 0.001548 seconds
2014-10-31 00:19:27.802091:MainThread: libProfile.FINISHED, elapsed time: 0.008711 seconds

A temporary workaround would be great but also fully understand if you can't support ancient APIs anymore.


RE: [RELEASE] Texture Cache Maintenance utility - Milhouse - 2014-10-30

I've pushed an update, v1.8.3, which now only enables profile support with JSON v6.6.0+. Run "texturecache.py update" to pull the new version, then you should be OK to run vscan on the old system.


RE: [RELEASE] Texture Cache Maintenance utility - raspberry_pd - 2014-10-30

Working a treat, thanks!


RE: [RELEASE] Texture Cache Maintenance utility - raspberry_pd - 2014-11-01

Hi All

I've been using this fantastic script on linux boxes with great effectiveness. However I was wondering if it would work on Windows XP? I'm guessing I'd need to install Python but is there are other impediments I know XBMC on XP isn't supported anymore but the software still runs fine so I've no reason to give it the arse.

Thanks!
pd


RE: [RELEASE] Texture Cache Maintenance utility - Milhouse - 2014-11-01

(2014-11-01, 15:29)raspberry_pd Wrote: I've been using this fantastic script on linux boxes with great effectiveness. However I was wondering if it would work on Windows XP? I'm guessing I'd need to install Python but is there are other impediments I know XBMC on XP isn't supported anymore but the software still runs fine so I've no reason to give it the arse.

Just install Python 2.7.3 (or 3.x), and it should work fine.

You don't need XBMC installed to run the script, and you can configure the script to control remote XBMC clients (with some limitations where direct file system access is concerned, mainly Xd/r/R) using the xbmc.host property. You could also use one of your Linux boxes to run the script which then connects to XBMC on your XP client - no need to install Python on Windows at all.


RE: [RELEASE] Texture Cache Maintenance utility - raspberry_pd - 2014-11-01

(2014-11-01, 16:40)Milhouse Wrote:
(2014-11-01, 15:29)raspberry_pd Wrote: I've been using this fantastic script on linux boxes with great effectiveness. However I was wondering if it would work on Windows XP? I'm guessing I'd need to install Python but is there are other impediments I know XBMC on XP isn't supported anymore but the software still runs fine so I've no reason to give it the arse.

Just install Python 2.7.3 (or 3.x), and it should work fine.

You don't need XBMC installed to run the script - you can configure the script to control remote XBMC clients using the xbmc.host property. You could also use one of your Linux boxes to run the script which then connects to XBMC on your XP client, and no need to install Python on Windows at all.


Thanks! I'll give it a go Smile


RE: [RELEASE] Texture Cache Maintenance utility - RazorFR - 2014-11-01

Just updated to Helix and I noticed the script is now hanging when recaching thumbnails with
python C:\Xbmcsc~1\script~1\textur~1\textur~1.py C

Not sure where to start, but I do know this was working flawlessly with gotham 13.2 until now.


RE: [RELEASE] Texture Cache Maintenance utility - Milhouse - 2014-11-01

You can start by checking the client, to make sure it hasn't run out of memory or hung. Also check the xbmc.log/kodi.log for errors. A @logfile might also be useful.

Try running "C class" where class is one of movies, tvshows, addons etc. to try and pin down which class is the problem - the console information should already give you an indication of how far it is getting before hanging.


RE: [RELEASE] Texture Cache Maintenance utility - RazorFR - 2014-11-01

I think it is hanging somewhere in the movies part.

Image

kodi debug


RE: [RELEASE] Texture Cache Maintenance utility - Milhouse - 2014-11-01

The Kodi JSON RPC server is terminating for some reason, probably an internal error of some kind.
Code:
18:19:14 T:4228 DEBUG: JSONRPC: Incoming request: {"id": "libTextures", "params": {"textureid": 35527}, "method": "Textures.RemoveTexture", "jsonrpc": "2.0"}
18:19:14 T:3864 DEBUG: webserver: request received for /image/image%3a%2f%2fE%253a%255cSpeed%2520(1994)%255cSpeed%25201994%2520720p%2520BluRay%2520DTS%2520x264-CtrlHD-fanart.jpg%2f
18:19:14 T:3864 DEBUG: Caching image 'E:\Speed (1994)\Speed 1994 720p BluRay DTS x264-CtrlHD-fanart.jpg' to 'd/dd2519d1.jpg':
18:19:14 T:3864 DEBUG: cached image 'special://masterprofile/Thumbnails/d/dd2519d1.jpg' size 1280x720
18:19:14 T:3864 DEBUG: webserver: request received for /jsonrpc
18:19:14 T:3864 DEBUG: JSONRPC: Incoming request: {"id": "preparedl", "params": {"path": "image://F%3a%5cMy%20Movie%20Sets%5cSet%20-%20Spiderman%5cSpider-Man%202%20(2004)%5cSpiderman.2.2004.720p.BluRay.x264-SiNNERS-fanart.jpg/"}, "method": "Files.PrepareDownload", "jsonrpc": "2.0"}
18:19:15 T:4228 DEBUG: Thread TCPServer 4228 terminating

If it's always crashing while preparing the same texture, that would be useful to know - maybe it's a problem with the artwork itself, the database or the file system. Try re-caching only Spider-man 2 (C movies "spider-man 2") and see if it crashes again.

Otherwise you might want to open a trac ticket and perhaps someone can help you investigate further - other than trying to narrow down a trigger, I can't help fix this.


RE: [RELEASE] Texture Cache Maintenance utility - theowiesengrund - 2014-11-08

Hi Milhouse,

one of my drives died today and i wanted to use your script to get a list of the "missing" movies.

I tried
Code:
./texturecache.py missing movies "movieshare2"

but got the following message back:

Code:
WARNING: No files obtained from filesystem - ensure valid source(s) specified!

That doesn't seem to work that way. Any other option to get a list of the files?


RE: [RELEASE] Texture Cache Maintenance utility - Milhouse - 2014-11-08

You need to specify one or more valid sources, presumably "movieshare2" isn't a valid source.

What is the output from:
Code:
./texturecache.py sources
?


RE: [RELEASE] Texture Cache Maintenance utility - theowiesengrund - 2014-11-08

Code:
video: TV Shows: /storage/tvshows
video: Videos: /storage/videos
video: movieshare1: nfs://192.168.178.29/volume3/movieshare1
video: movieshare3: nfs://192.168.178.29/volume4/movieshare3
video: movieshare2: nfs://192.168.178.29/volume2/movieshare2
video: shows2: nfs://192.168.178.29/volume4/shows2
video: shows: nfs://192.168.178.29/volume1/shows
music: Music: /storage/music
pictures: Pictures: /storage/pictures

I don't know what you mean with "valid source". When i run the missing command, i see the "loading" of the movies in the command line for a few seconds. But the physical source is - as i said above - dead.