Guest - Testers are needed for the reworked CDateTime core component. See... https://forum.kodi.tv/showthread.php?tid=378981 (September 29) x
  • 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 197
[RELEASE] Texture Cache Maintenance utility
(2013-10-02, 19:28)thefunkygibbon Wrote: its in there.
/usr/lib/python2.7/sqlite3

weird

That's just a directory, you should also have shared object library - this is what I have:
Code:
rpi512:~ # find /usr -name '*sqlite*'
/usr/lib/python2.7/lib-dynload/_sqlite3.so
/usr/lib/python2.7/sqlite3

Do you have "_sqlite3.so"?
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
(2013-10-02, 19:47)CaptainKen Wrote: Which command should I use to fix the backslashes? This is driving me crazy with either artwork not showing up or not updating artwork that changed.

There is no command to "fix" the backslashes - they exist in your media library and will always exist until something (not texturecache.py) removes them and replaces them with correctly formatted paths.

texturecache.py since v0.8.9 simply works around the backslash problem, automatically correcting the backslashes whenever they are encountered, but there is no attempt to permanently correct them by updating your media library. If texturecache.py is having problems processing your media library, then submit a verbose log and I'll see if there's another problem, but it shouldn't be due to backslashes (hopefully not, anyway!)

(2013-10-02, 19:47)CaptainKen Wrote: Also does your modified version of MSAA incorporate a fix?
http://forum.xbmc.org/showthread.php?tid...pid1470825

I've not modified MSAA - to the best of my knowledge it still has this backslash/forwardslash flaw. You'll need to contact Trent to obtain a fix, but I get the impression he's lost interest/moved on, so maybe it's time to fork it.

Until such time as a modified version appears, your best bet is to run MSAA only on Linux systems, then your paths will always be "correct". If you run MSAA on a Windows system, your paths (if they are network shares) will end up mangled.
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
(2013-10-02, 17:31)MilhouseVH Wrote:
(2013-10-02, 11:28)AbRASiON Wrote: Hello, I was sent here from this thread.
http://forum.xbmc.org/showthread.php?tid...pid1517908

I would LOVE a way to identify duplicate movies (based on IMDB matchup seems the most logical) - this eliminates different file names / file formats etc. Do you think this is possible and if so, how does one purchase you beers?

Hmm... OK. What would you want to see? The name and path of the duplicate movies? I'll give it some thought, but a bit busy today/tomorrow so maybe later in the week. If you have any thoughts between now and then, post away...

I've never used your script! I mean honestly, I'm happy if just a library view appears, with all the thumbnails of the movies - almost like a custom playlist? - I just want a list of all the movies with the exact same IMDB matching lookup. Then I can choose which one to terminate.
Reply
(2013-10-03, 03:07)AbRASiON Wrote: I've never used your script! I mean honestly, I'm happy if just a library view appears, with all the thumbnails of the movies - almost like a custom playlist?

Well, that's not how it works as it's a script - it will present a text listing of movies etc. that meet certain requirements, but it doesn't interact with XBMC in such a way that it can create a playlist.

(2013-10-03, 03:07)AbRASiON Wrote: I just want a list of all the movies with the exact same IMDB matching lookup. Then I can choose which one to terminate.

That should be relatively easy, I presume listing the movie name(s) and paths will be sufficient?
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
(2013-10-03, 02:04)MilhouseVH Wrote:
(2013-10-02, 19:47)CaptainKen Wrote: Which command should I use to fix the backslashes? This is driving me crazy with either artwork not showing up or not updating artwork that changed.

There is no command to "fix" the backslashes - they exist in your media library and will always exist until something (not texturecache.py) removes them and replaces them with correctly formatted paths.

texturecache.py since v0.8.9 simply works around the backslash problem, automatically correcting the backslashes whenever they are encountered, but there is no attempt to permanently correct them by updating your media library. If texturecache.py is having problems processing your media library, then submit a verbose log and I'll see if there's another problem, but it shouldn't be due to backslashes (hopefully not, anyway!)

(2013-10-02, 19:47)CaptainKen Wrote: Also does your modified version of MSAA incorporate a fix?
http://forum.xbmc.org/showthread.php?tid...pid1470825

I've not modified MSAA - to the best of my knowledge it still has this backslash/forwardslash flaw. You'll need to contact Trent to obtain a fix, but I get the impression he's lost interest/moved on, so maybe it's time to fork it.

Until such time as a modified version appears, your best bet is to run MSAA only on Linux systems, then your paths will always be "correct". If you run MSAA on a Windows system, your paths (if they are network shares) will end up mangled.

Sorry, looks like I got you mixed up with mikebzh44...LOL

I also misunderstood your statement "Fix: Swap back/forward slashes on JSON artwork paths whenever a slash is used incorrectly" to mean it fixed the database.

Currently I'm having the following issues, although not all of them show up using the "C" option:
Lord of the Rings collection has no fanart or poster showing for the set
Ice Age is displaying fanart from some other movie (can't tell which though)
Home Movies has no fanart
Ocean's is showing fanart from Oceans 196, rather than the set fanart
Fast & Furious 5 won't lock into the collection even though I've confirmed the <set> tag to be correct

Besides the above I ran texturecache (with P, C, R and nc options), deleted sets, clean library, update library all numerous times before magically Cars, Shrek and a few others suddenly showed up correctly.

I ran:
- the tc "P" option
- then MSAA
- then I used the tc "C" option to create a log

Here's my tc verbose log and xbmc log.
HTPC: Dell Optiplex 7050 SFF i7-7700 quad-core, 3.6GHz, 16GB
NAS: Synology DS1813+ and DX513, Hybrid RAID (SHR) 48TB usable space
My Media Center | www.CaptainKen.us | www.YouTube.com/KenInGilbert
Reply
(2013-10-03, 07:02)CaptainKen Wrote: I also misunderstood your statement "Fix: Swap back/forward slashes on JSON artwork paths whenever a slash is used incorrectly" to mean it fixed the database.

Yes, that just means I fixed something that wasn't working quite right before... the swap only occurs in memory, the database is not updated.

(2013-10-03, 07:02)CaptainKen Wrote: Currently I'm having the following issues, although not all of them show up using the "C" option:

Your tc log is not verbose - you didn't include "@logfile.verbose=yes".

Anyway, from what I can (just about) determine from the truncated texturecache log, is that:
  • "The Lord of the Rings Collection" poster and fanart cannot be downloaded by XBMC, most likely because the files don't exist
  • "Ice Age" is using fanart for "Ice Age - A Mammoth Christmas (2011)"
  • "Home Movies" fanart cannot be downloaded by XBMC, most likely because the file doesn't exist
  • "Ocean's Collection" is using the 1960s movie fanart because MSAA fails to find any "Possible thumbnails" of the fanart variety - basically, you're missing fanart for this set in the parent folder, so it drills down and picks the first movie fanart instead
  • "Fast & Furious 5" - if it's not adding itself to the set, that's a scanner/scraper issue, and something to be discussed in a different thread...

You can see the artwork URLs being used by your movie sets if you run:
Code:
texturecache.py jd sets

Since many of your movie sets contain mangled paths and were downloaded without a problem, I can only conclude that the movie set artwork that failed to download really doesn't exist in your file system. The following entries from your xbmc log tend to confirm this theory:
Code:
21:26:32 T:4120   DEBUG: CTextureCacheJob::GetImageHash - unable to stat url smb://SERVER2/video2/Movies/Two Towers/poster.jpg
21:26:32 T:4880   DEBUG: CTextureCacheJob::GetImageHash - unable to stat url smb://SERVER2/video2/Movies/Two Towers/fanart.jpg

So... double check that all of your movie set folders have suitable fanart/posters in the parent folder.
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
(2013-10-03, 03:17)MilhouseVH Wrote:
(2013-10-03, 03:07)AbRASiON Wrote: I've never used your script! I mean honestly, I'm happy if just a library view appears, with all the thumbnails of the movies - almost like a custom playlist?

Well, that's not how it works as it's a script - it will present a text listing of movies etc. that meet certain requirements, but it doesn't interact with XBMC in such a way that it can create a playlist.

(2013-10-03, 03:07)AbRASiON Wrote: I just want a list of all the movies with the exact same IMDB matching lookup. Then I can choose which one to terminate.

That should be relatively easy, I presume listing the movie name(s) and paths will be sufficient?



Seems reasonable to me to be honest.
Reply
Version 1.0.1
  • Add: New option duplicates (ie. texturecache.py duplicates) to list movies present more than once in the media library with the same imdb number

movieid will be listed for each movie, so that movies can be removed if desired with:
Code:
texturecache.py remove movie <movieid>
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
Daym! Ok I'll try this out this evening. Thank you v.much
Reply
hi MilhouseVH, thanks for the reply to my post, i think the reason i was getting so many issues is related to the fact i had a hard drive failure and had attempted to rebuild my library using your script, looks like there were too many missing items in the end so ended up just blowing away the sqlite databases and thumbnails directories and re scraping everything, not ideal but hey, just thought i would be courteous and let you know the outcome.

i have a feature request, i think this might be outside the scope of your script but hey i will ask anyway, if you dont ask you dont get right? :-).

is there any way you could pull out a list of movies matching certain resolutions?, for instance 720p or 1080p?, reason i ask is that im going through a process of moving from 720p to 1080p rips and its quite painful to track and not always easy to identify based on file size and/or file name. i think i am right in saying the textures sqlite db does indeed contain information regards resolution of videos scraped yes?.
Reply
(2013-10-03, 11:51)binhex01 Wrote: just thought i would be courteous and let you know the outcome.

Thanks.

(2013-10-03, 11:51)binhex01 Wrote: is there any way you could pull out a list of movies matching certain resolutions?, for instance 720p or 1080p?, reason i ask is that im going through a process of moving from 720p to 1080p rips and its quite painful to track and not always easy to identify based on file size and/or file name.

Yep.

Code:
./texturecache.py query movies "streamdetails.video.height = 720"

The test can be =, !=, <, <=, >, >=, contains, startswith, endswith - just leave a space between the field (on the left) and the value on the right... it's a very basic parser... you can also combine tests with and/or logic, eg. "streamdetails.video.height >= 720 and streamdetails.video.height < 1080"

(2013-10-03, 11:51)binhex01 Wrote: i think i am right in saying the textures sqlite db does indeed contain information regards resolution of videos scraped yes?.

The textures sqlite db (Textures13.db) doesn't contain stream information, but your media library might if the <streamdetails> tag has been scraped in from an NFO, or the GUI has extracted the stream details media files while you browse through your library. If the stream details are not present in your media library there will be no way to identify your 720/1080 movies.
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
fantastic stuff!, i dont really like the idea of creating 800+ nfo files :-), this sounds interesting "or the GUI has extracted the stream details media files while you browse through your library" are you saying if i view information for each movie it will force the streamdetails to created?, im assuming this might depend on whether the skin chosen forces this value to be calculated?

so i guess what im asking is, is there any way to force streamdetails to be populated without having to play/view each movie individually or having to create nfo files for each movie?.
Reply
(2013-10-03, 09:40)MilhouseVH Wrote:
(2013-10-03, 07:02)CaptainKen Wrote: I also misunderstood your statement "Fix: Swap back/forward slashes on JSON artwork paths whenever a slash is used incorrectly" to mean it fixed the database.

Yes, that just means I fixed something that wasn't working quite right before... the swap only occurs in memory, the database is not updated.

(2013-10-03, 07:02)CaptainKen Wrote: Currently I'm having the following issues, although not all of them show up using the "C" option:

Your tc log is not verbose - you didn't include "@logfile.verbose=yes".

Anyway, from what I can (just about) determine from the truncated texturecache log, is that:
  • "The Lord of the Rings Collection" poster and fanart cannot be downloaded by XBMC, most likely because the files don't exist
  • "Ice Age" is using fanart for "Ice Age - A Mammoth Christmas (2011)"
  • "Home Movies" fanart cannot be downloaded by XBMC, most likely because the file doesn't exist
  • "Ocean's Collection" is using the 1960s movie fanart because MSAA fails to find any "Possible thumbnails" of the fanart variety - basically, you're missing fanart for this set in the parent folder, so it drills down and picks the first movie fanart instead
  • "Fast & Furious 5" - if it's not adding itself to the set, that's a scanner/scraper issue, and something to be discussed in a different thread...

You can see the artwork URLs being used by your movie sets if you run:
Code:
texturecache.py jd sets

Since many of your movie sets contain mangled paths and were downloaded without a problem, I can only conclude that the movie set artwork that failed to download really doesn't exist in your file system. The following entries from your xbmc log tend to confirm this theory:
Code:
21:26:32 T:4120   DEBUG: CTextureCacheJob::GetImageHash - unable to stat url smb://SERVER2/video2/Movies/Two Towers/poster.jpg
21:26:32 T:4880   DEBUG: CTextureCacheJob::GetImageHash - unable to stat url smb://SERVER2/video2/Movies/Two Towers/fanart.jpg

So... double check that all of your movie set folders have suitable fanart/posters in the parent folder.

Thank for looking at this.

While not all my sets contain set artwork, MSAA should drill down and use the first movie fanart and poster, but they do not.

I did discover that Home Movies and Ocean's artwork was being block by windows as shown here:
Image

While clearing that up fixed HomeMovies it didn't for Oceans, which does have set fanart and poster.

The Lord of the Rings paths are actually as follows. The paths shown in the xbmc log probably existed at one point, but no longer.
\\SERVER2\video2\Movie Sets\The Lord of the Rings Collection\Two Towers
\\SERVER2\video2\Movie Sets\The Lord of the Rings Collection\The Lord of the Rings - The Fellowship of the Ring

I'll get a verbose log Saturday as I'm running late now for airport.
HTPC: Dell Optiplex 7050 SFF i7-7700 quad-core, 3.6GHz, 16GB
NAS: Synology DS1813+ and DX513, Hybrid RAID (SHR) 48TB usable space
My Media Center | www.CaptainKen.us | www.YouTube.com/KenInGilbert
Reply
(2013-10-03, 14:09)binhex01 Wrote: so i guess what im asking is, is there any way to force streamdetails to be populated without having to play/view each movie individually or having to create nfo files for each movie?.

Those are your only options, I'm afraid. See this post which ends a previous discussion on this topic. Until JSON can trigger stream detail extraction, you're stuck with the GUI route, or populating NFOs.
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
(2013-10-03, 14:25)CaptainKen Wrote: While not all my sets contain set artwork, MSAA should drill down and use the first movie fanart and poster, but they do not.

Although that seems to be what MSAA did for Ocean's Collection - as it couldn't access the set fanart (as it was blocked), it drilled down and selected the fanart for one of the movies (1960's version). Try running MSAA again (preferably on a Linux box) and you'll probably find it selects the correct fanart for Ocean's Collection this time.

(2013-10-03, 14:25)CaptainKen Wrote: I'll get a verbose log Saturday as I'm running late now for airport.

OK but not sure when I became support for someone else's add-on! Wink Smile

I'm pretty sure this is not a texturecache related issue. I'm also pretty sure that caching artwork with mangled filenames is no longer a problem, so if your movie sets are not caching the correct artwork then most likely there's a problem with MSAA assigning the wrong artwork in your media library. You can see which artwork is assigned to your movie sets using "jd sets", so if MSAA has assigned incorrect artwork, that will need fixing in MSAA (or your file system, if files are blocked or don't exist).

I'll take a look at your next log - if you're running MSAA again, also include the xbmc.log too.
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
  • 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 197

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Texture Cache Maintenance utility17