•   
  • 1
  • 154
  • 155
  • 156(current)
  • 157
  • 158
  • 179
  •   
[RELEASE] Texture Cache Maintenance utility
Thanks Mr.Floppy. Smile
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Using LE Milhouse Build #1029, 

I receive this error message since recently, so far it has always worked

FATAL: The task you wish to perform requires that a JSON-RPC server with
       version 6 or above of the Kodi JSON-RPC API is provided.

       The JSON-RPC API version of the connected server is: 0 (0 means unknown)

       Check settings in properties file texturecache.cfg
Reply
(2017-10-30, 12:30)pacoma2610 Wrote: Using LE Milhouse Build #1029, 

I receive this error message since recently, so far it has always worked

FATAL: The task you wish to perform requires that a JSON-RPC server with
       version 6 or above of the Kodi JSON-RPC API is provided.

       The JSON-RPC API version of the connected server is: 0 (0 means unknown)

       Check settings in properties file texturecache.cfg

Are you using the built-in version of texturecache.py or a version you downloaded? Because the built-in version in #1029 is currently modified to work around the broken JSON version in recent test builds.

Anyone else will need to use this patch if they are using one of my test builds as the remote client:
Code:
index 8541121..44bf945 100755
--- a/texturecache.py
+++ b/texturecache.py
@@ -7873,6 +7873,9 @@ def checkConfig(option):

       if "result" in data and "version" in data["result"]:
         jsonGotVersion = data["result"]["version"]
+        if jsonGotVersion["major"] == 0:
+          gLogger.err("WARNING: overriding major version!", newLine=True)
+          jsonGotVersion["major"] = 8
         if type(jsonGotVersion) is dict and "major" in jsonGotVersion:
           gConfig.SetJSONVersion(jsonGotVersion.get("major",0),
                                  jsonGotVersion.get("minor",0),

or download http://sprunge.us/WcLJ which already includes the change.

I'm not pushing the "fix" to the repo because it's entirely unnecessary under normal circumstances.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
@Milhouse

Thank you with the modified Version http://sprunge.us/WcLJ is working on remote client.

is it a difference to use the build in or a remote?
Reply
(2017-10-30, 16:40)pacoma2610 Wrote: is it a difference to use the build in or a remote?

For most commands there is no difference. There are only a few commands that must be run locally.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Hey there, I'm looking for a way to update my .nfo and poster/fanart with just the trigger of a script. I'm currently running: "texturecache.py qax movies @qaperiod=-1 @qa.nfo.refresh=3", and it refreshes de .nfo, but not the poster. I add my movies manually with .nfo and poster.jpg. So for example I rename poster.jpg > posterold.jpg, and then put a new poster as poster.jpg. After running the command mentioned, I still get the old (now posterold.jpg) associated. Am I missing something?

By the way thank you very much for all the support you gave me last time, early this year. My setup was much more convulted back then, and yet you stayed with me the whole way, really appreciate that now that I'm rereading through our conversation.
Reply
To recache existing artwork modified in the last 3 days:
Code:
texturecache.py C movies @cache.refresh=3
You'll need to run the above on all your clients, as it updates the local Textures13.db.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Right! Thanks, I'm sure this will work, but for now I get "A connection cannot be established to the following webserver: localhost: 8080". I just run Kodi on my computer, offline. No sharing anywhere, no server, no nothing. All other mentions of this on the thread seem to overcomplicate this, so what would be the procedure considering my scenario?
Reply
(2017-11-05, 17:17)firewater Wrote: Right! Thanks, I'm sure this will work, but for now I get "A connection cannot be established to the following webserver: localhost: 8080". I just run Kodi on my computer, offline. No sharing anywhere, no server, no nothing. All other mentions of this on the thread seem to overcomplicate this, so what would be the procedure considering my scenario?

Enable the webserver.

Image

Default port should be 8080, leave username and password blank.

If you set a username or password, or non-default port, you'll need to configure the new values in texturecache.cfg.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
Thank you for this awesome python-script.. I can toss my few loose scriptlets, which only addressed certain issues I did to myself :-)
This script does it all as far as I can tell..

I just got myself an upgrade from my Mede8er media player , which is far too rigid regarding modifications I want.. and Kodi is a much more capable mediacentre - period.. I deserved it :-)
However I assumed me, IT Pro for over 26 years, would definitely not be needing to study any documentation whatsoever.. since.. well.. I'm a cocky ass who knows best.. nah.. because in my spare time I love scripting / scraping / figuring stuff out especially concerning my rather extensive movie and tvshow collection (over 12.000 episodes and 794 movies atm, spread over my 4 nas's) - I can finally have beautiful metadata being displayed for everything.. so yeh.. I was excited.. and in the repo there was script.artwork.downloader.. getting extra imagery.. definitely... so I looked into the default settings and got rid of the silly constraints such as maximum images and a minimum score.. coz.. how many artwork could there be on the default sites.. right ?

tossed that into a cron to run when I was dreaming of finding an ready to go metadatabase with even extras if I wouldn't like the artwork :-)
and to be fair.. I did.. but also completely filled raid arrays and oh so many more 0 byte files of failed downloads LOL..

all in all.. some cli magic quickly got rid of the extrafanart folders everywhere.. but leaves me with some more manual tweaks to not have to recreate the complete libraries Smile aka.. loving your script :-) saves me alot of time and altho I'm 100% dedicated to not really reading up on documentation and stuff.. I am glad I ran into your script when searching how to send library related commands to the kodiplayer :-)

major props !
Reply
Thanks. I get this:


Code:
C:\Program Files (x86)\Kodi\userdata>texturecache.py C movies @cache.refresh=3
Loading Textures DB: chunk  1 of 17 [unmatched 3: matched 0, skipped 0] (0 of 0)
Loading Textures DB: chunk  1 of 17 [unmatched 3: matched 0, skipped 0] (1 of 1)
Loading Textures DB: chunk  2 of 17 [unmatched 3: matched 0, skipped 0] (1 of 1)
Loading Textures DB: chunk  3 of 17 [unmatched 3: matched 0, skipped 0] (0 of 0)
Loading Textures DB: chunk  4 of 17 [unmatched 3: matched 0, skipped 0] (0 of 0)
Loading Textures DB: chunk  5 of 17 [unmatched 3: matched 0, skipped 0] (0 of 0)
Loading Textures DB: chunk  5 of 17 [unmatched 3: matched 0, skipped 0] (1 of 1)
Loading Textures DB: chunk  6 of 17 [unmatched 2: matched 0, skipped 1] (1 of 1)
Loading Textures DB: chunk  7 of 17 [unmatched 2: matched 0, skipped 1] (0 of 0)
Loading Textures DB: chunk  7 of 17 [unmatched 2: matched 0, skipped 1] (1 of 1)
Loading Textures DB: chunk  8 of 17 [unmatched 1: matched 0, skipped 2] (1 of 1)
Loading Textures DB: chunk  9 of 17 [unmatched 1: matched 0, skipped 2] (0 of 0)
Loading Textures DB: chunk  9 of 17 [unmatched 1: matched 0, skipped 2] (1 of 1)
Loading Textures DB: chunk 10 of 17 [unmatched 1: matched 0, skipped 2] (1 of 1)
Loading Textures DB: chunk 11 of 17 [unmatched 1: matched 0, skipped 2] (0 of 0)
Loading Textures DB: chunk 12 of 17 [unmatched 1: matched 0, skipped 2] (0 of 0)
Loading Textures DB: chunk 13 of 17 [unmatched 1: matched 0, skipped 2] (0 of 0)
Loading Textures DB: chunk 14 of 17 [unmatched 1: matched 0, skipped 2] (0 of 0)
Loading Textures DB: chunk 15 of 17 [unmatched 1: matched 0, skipped 2] (0 of 0)
Loading Textures DB: chunk 15 of 17 [unmatched 1: matched 0, skipped 2] (1 of 1)


Cache pre-load activity summary for "movies":

             |    fanart   |    poster   |    TOTAL
--------------+-------------+-------------+-------------
Cached        |      -      |      -      |      0
Deleted       |      -      |      -      |      0
Duplicate     |      -      |      -      |      0
Error         |      -      |      -      |      0
Ignored       |      -      |      -      |      0
Skipped       |      -      |      3      |      3
Undefined     |      -      |      -      |      0
========================================================
TOTAL         |      -      |      3      |      3

      Loading: 00:00:00.00
      Parsing: 00:00:00.00
    Comparing: 00:00:00.02
TOTAL RUNTIME: 00:00:00.02


I edited the poster in use name to poster2.jpg and another poster to poster.jpg. Nothing changed.
Reply
Add @logfile=tc.log to your command line, and run the command for the movie you've changed, eg "texturecache.py C movies avatar @cache.refresh=3 @logfile=tc.log" then send me the contents of tc.log. It should be retrieving the modification timestamp of poster.jpg and determining it is within the last 3 days.
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
mklocal.py https support?

I may be doing something wrong, but do I need to to anything to support HTTPS URLs in mklocal.py?

Code:

##DEBUG## mediatype [movie]; mediatitle [Young Frankenstein]
##DEBUG##   artwork type [fanart] known by Kodi as [https://assets.fanart.tv/fanart/movies/3034/moviebackground/young-frankenstein-550106c446a7d.jpg]
##DEBUG##     [fanart    ] Lookup non-HTTP file using current URL:  https://assets.fanart.tv/fanart/movies/3...446a7d.jpg [FAIL]
##DEBUG##     [fanart    ] No alt source for non-HTTP files, using: https://assets.fanart.tv/fanart/movies/3...446a7d.jpg
##DEBUG##     [fanart    ] Converting local filename to Kodi path:  https://assets.fanart.tv/fanart/movies/3...446a7d.jpg
##DEBUG##     [fanart    ] No library change required, keeping:     https://assets.fanart.tv/fanart/movies/3...446a7d.jpg


Update:  Maybe a quick change to line 521?  The below is working for me.

Code:

FROM:
     if not source.startswith("http://"):
TO:
     if not source.startswith("http://") and not source.startswith("https://"):
     OR
     if not source.startswith("http"):
 

You could also throw in other prefixes like ftp://, although it don't know of a use case for that at present.

Thanks
Reply
@wallacebw thanks I've added the support for https to mklocal.py, you'll need to re-download the mklocal.py script to update (it doesn't auto-update).
Texture Cache Maintenance Utility: Preload your texture cache for optimal UI performance. Remotely manage media libraries. Purge unused artwork to free up space. Find missing media. Configurable QA check to highlight metadata issues. Aid in diagnosis of library and cache related problems.
Reply
(2017-11-10, 20:58)Milhouse Wrote: @wallacebw thanks I've added the support for https to mklocal.py, you'll need to re-download the mklocal.py script to update (it doesn't auto-update).

Thanks, working. One more thing, is is easy to add support for animatedfanart and animatedposter art types?
Reply
  •   
  • 1
  • 154
  • 155
  • 156(current)
  • 157
  • 158
  • 179
  •   
 
Thread Rating:
  • 17 Vote(s) - 4.76 Average



Logout Mark Read Team Forum Stats Members Help
[RELEASE] Texture Cache Maintenance utility4.7617