•   
  • 1
  • 52
  • 53
  • 54(current)
  • 55
  • 56
  • 179
  •   
[RELEASE] Texture Cache Maintenance utility
(2014-03-05, 18:01)MilhouseVH Wrote: Other than nuking your Textures13.db and Thumbnails folder then running "c all" to re-cache everything, my advice to keep your cache in tip-top condition would be to run the following on a semi-regular basis:
Code:
./texturecache.py P        <--- Prune: remove non-media library artwork, including addon cruft
./texturecache.py R        <--- Orphans: remove files that XBMC has forgotten about
./texturecache.py c all    <--- Cache: cache any missing artwork, for all media classes (basically, everything)

texturecache.py (Version 1.5.1 - this thread is a year old!)
  • Add: Include suspend capability (whether suspend is supported), and idle timer state in status
  • Add: Include songs as tc.members in jd albums (also j/jr/J/Jr/Jd) when @songmembers=yes
  • Fix: Remove unsupported class check on qax - now runs qax on all classes, even if there is no way to fix them

Well Ill try, but no, I have in fact been doing those commands since the Thumbnails dir and textures13.db have been created (not pre frodo nonsense here I only run master compiles and this install is about 3 months old at best.), but Im saying it now, I have done that already and the P and specificity R have been done yesterday.

I have on a diffent machine found a art bug as well see trac.xbmc.org/ticket/14986 and see if you reporduce that bug on your machines Wink already someone can duplicate it but the more the merrier.
Reply
(2014-03-05, 18:36)MilhouseVH Wrote: qa.nfo.refresh should solve the problem of (a) - you just need to specify a relative (or absolute) date. Absolute dates takes the form "YYYY-MM-DD HH:MM:SS". Relative dates are a positive number eg. 0 (same as "today"), 1 would be yesterday etc.

If you want to re-cache artwork that has been recently updated, then specify "@cache.refresh=today|<relative date>|<absolute date>" when running "C <class>" and only artwork that is more recently modified than the specified date will be re-cached (normally, C without specifying a @cache.refresh property will re-cache everything so don't mis-type this parameter!)

So, work out your relative or absolute date, then run qax followed by C, specifying the relevant @qa.nfo.refresh/@cache.refresh parameter. Some artwork that is (re-)loaded by qax may also be re-cached by C, particularly if it's a new movie or episode, but this is an unavoidable inefficiency.

Thanks for such a quick response. Hmmm - I may have something else going on. As it turns out, I was doing exactly what you suggested for the first part, specifically:

I had intentionally changed an NFO for a specific show (tvshow.NFO file) - removed a genre
Ensured the new NFO file has a datestamp of today's date

Ran the following: texturecache.py qax tvshows @qa.nfo.refresh=1

There was no "feedback" - was returned a few seconds later to a C:\ prompt (so I assume not context errors or typos, etc).

Went back to that show in XBMC, and the genre I removed from the NFO was still present in the show description.

I'll run through this exercise again later and generate some logs to see what I am missing
Reply
(2014-03-05, 20:34)uNiversal Wrote: Well Ill try, but no, I have in fact been doing those commands since the Thumbnails dir and textures13.db have been created (not pre frodo nonsense here I only run master compiles and this install is about 3 months old at best.), but Im saying it now, I have done that already and the P and specificity R have been done yesterday.

The only other thing to try is running "r" which will list the orphaned files, and see if you can confirm that they are really orhpaned files - can you find the cachedurl for some of the supposedly orphaned files in your Textures13.db, and if not the next question is "why not"...

(2014-03-05, 20:34)uNiversal Wrote: I have on a diffent machine found a art bug as well see trac.xbmc.org/ticket/14986 and see if you reporduce that bug on your machines Wink already someone can duplicate it but the more the merrier.

I'll look into that a bit later and let you know.

(2014-03-05, 20:47)cgrey Wrote: Thanks for such a quick response. Hmmm - I may have something else going on. As it turns out, I was doing exactly what you suggested for the first part, specifically:

I had intentionally changed an NFO for a specific show (tvshow.NFO file) - removed a genre
Ensured the new NFO file has a datestamp of today's date

Ran the following: texturecache.py qax tvshows @qa.nfo.refresh=1

There was no "feedback" - was returned a few seconds later to a C:\ prompt (so I assume not context errors or typos, etc).

Went back to that show in XBMC, and the genre I removed from the NFO was still present in the show description.

I'll run through this exercise again later and generate some logs to see what I am missing

Bear in mind, and this still catches me out, that the default qaperiod is 30 days, and only items added within that period are considered during the qa/qax runs. If you want to essentially disable this check, set qaperiod=9999 which then ensures that items added during the last 9999 days are considered, which should be everything. It sounds like your movie/tvshow/episode was added more than 30 days ago, so is being ignored.
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
Quote:Bear in mind, and this still catches me out, that the default qaperiod is 30 days, and only items added within that period are considered during the qa/qax runs. If you want to essentially disable this check, set qaperiod=9999 which then ensures that items added during the last 9999 days are considered, which should be everything. It sounds like your movie/tvshow/episode was added more than 30 days ago, so is being ignored.

BINGO. I bet that's it. This particular TV show has definitely been in my library for at least a year. I will try the qaperiod switch tonight. Again, thanks, for both this script and the help with it!
Reply
Im not looking inside the textures13.db atm but I will look for this cache url if P keeps giving me more files again and again.

ive ran P and R again (I did set orphan.limit.check = no

the result of R was amongst another bazillion removed files Wink
Code:
Orphaned file found: Name [c/c58ad08d.dds], Created [Sun Dec 15 11:12:46 2013],                                                                          Size [460,928], REMOVING...
Orphaned file found: Name [c/c748aa36.dds], Created [Sun Dec 15 11:12:46 2013],                                                                          Size [86,528], REMOVING...
Orphaned file found: Name [c/cad9c04a.dds], Created [Sun Dec 15 11:12:46 2013],                                                                          Size [195,968], REMOVING...
Orphaned file found: Name [Video/Bookmarks/dd42b259_4187.jpg], Created [Mon Feb                                                                          24 21:39:31 2014], Size [11,665], REMOVING.
..

Summary: 5,884 files; Total size: 760,584 KB

and that was after running it yesterday as well Wink

My other machine Im leaving untouched because of that bug I need to have a unfiddled machine to test those art related bug in case it matters.
Reply
@uNi - I'm a bit confused, are you saying you ran "R" yesterday and it removed 5000+ files, and after running it again today it has removed another 5000+ files?!

Do any of the files it claims to have removed, eg. "c/c58ad08d.dds", now exist in the Thumbnails folder? It's removed a bunch of these dds files, and these usually map to jpg files, so is there a "c/c58ad08d.jpg" in your Thumbnails folder? There shouldn't be a jpg, since if the jpg file existed, it wouldn't have attempted to delete the dds file, so my guess (hope) is that neither the dds nor jpg exist now. If the dds still exists, hmmm. If the jpg exists, errrr....

The "r" option can be used to list what files would be removed, and might be worth running just to check the processing is working as expected.
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
I will look at the existence of jpg counterparts, tbh I dont think they exist on the few I checked didnt have any jpg counterpart, and next time I run r or p or P or R I will wack it on log somehow.

ya I ran P yesterday and R though idk how many files were removed after that I ran C.
Reply
@cgrey - I left some debug code in the last version which would have prevented qax from removing any invalid items (irrespective of qaperiod)... sorry about that. Now fixed in v1.5.2 which I've just pushed.
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
(2014-03-06, 01:19)MilhouseVH Wrote: @cgrey - I left some debug code in the last version which would have prevented qax from removing any invalid items (irrespective of qaperiod)... sorry about that. Now fixed in v1.5.2 which I've just pushed.

Well, this is different...

Grabbed 1.5.2 and ran the following command line:

texturecache.py qax tvshows @qa.nfo.refresh=1 @qaperiod=9999

The result is that I now seem to have duplicate entries in my library for every TV show that has been updated in the past day.

For example - I manually updated the NFO file for Mad Men S01E01 before running the above command line. There are now TWO entries for Mad Men in my library, and each of them have TWO S01E01 inside of them. In both, one of the two reports the media is unavailable. Manually ran a "clean" via the XBMC interface and that seemed to set things right...
Reply
Hmmm..... all qax does is remove items, then initiate a library rescan, usually just of the directory containing the removed item... if you can reproduce, a log would be handy. Strange that one of the items was unavailable (what was the path?), stranger still that there should be two - the first issue would suggest a problem with the scan, the second issue would suggest the item wasn't successfully removed in the first place, but then if the episode remained in the library, xbmc shouldn't have had any reason to scan in the duplicate...
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
(2014-03-05, 07:47)MilhouseVH Wrote: Sigh... Sad

Can you add @logfile=c:\tc.log when running the script, then send me a link to the log? Thanks.

@ MilhouseVH,

I have created the tc.log file however its 10mb. I tried posting on pastebin.com but it won't allow anything over 500kb. Not sure where else to post it to?
Reply
Do you have a dropbox? It should compress to a fairly small size. I'll also PM you an email address.
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,

I found a site that accepted the log file.

The link is here. Thanks for your help.
Reply
@ADA2D - thanks for the log.

Can you try v1.5.3 which I've just pushed, it will now just ignore the exception on filenames encoded in a way that can't be decoded.

You have three picture files that are causing a problem - I'm really not sure what encoding is being used but at least now it shouldn't crash:
Code:
smb://ADA2D-MAIN/Pictures/Angies Cell/.\u0361\u25b9\u200bRiChI(\u2022\u0361_ \u2022rIcH \ue733\u2650\ue6ad\ue644.jpg
smb://ADA2D-MAIN/Pictures/Angies Cell/Jessie \ue736  .\u0361\u25b9\u200b \ue63e.jpg
smb://ADA2D-MAIN/Pictures/Angies Cell/\u200e\u200b\ue63e\ue747JEN\ue747\ue63e.jpg
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 very much MilhouseVH. I will try the new version as soon as I get home tonight.
Reply
  •   
  • 1
  • 52
  • 53
  • 54(current)
  • 55
  • 56
  • 179
  •   
 
Thread Rating:
  • 17 Vote(s) - 4.76 Average



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