• 1
  • 44
  • 45
  • 46(current)
  • 47
  • 48
  • 197
[RELEASE] Texture Cache Maintenance utility
(2014-01-16, 01:10)MilhouseVH Wrote: [*]Add: qa.nfo.refresh=YYYY-MM-DD HH:MM: SS, or qa.nfo.refresh=today (time == 00:00:00). During qax, any movie/episode whose NFO has a modification date more recent than the specified date/time will be re-scraped. Prior to JSON API v6.13.2, the lastmodified date is ambiguous so prior to v6.13.2 it may be necessary to specify @modifieddate.mdy=yes if US-format (mm/dd/yyyy) last modified dates are being used - default is no, for dd/mm/yyyy dates.

Thank you! Exactly what i meant! Cool

Just to be clear: In my scenario (1 client: Pi with OpenELEC, media on NFS shares with local artwork in every moviefolder) there is no need for recaching my artwork, because XBMC caches the artwork during scraping - correct?
Reply
(2014-01-16, 23:52)theowiesengrund Wrote: Just to be clear: In my scenario (1 client: Pi with OpenELEC, media on NFS shares with local artwork in every moviefolder) there is no need for recaching my artwork, because XBMC caches the artwork during scraping - correct?

Correct.
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
Is it possible to add additional parameters besides "today"? Something like "last x days" or "last x weeks"? Would be comfortable for cronjobs.

You said somewhere that qax removes the media first from the library before rescanning - but the watched status is restored automatically (which is good). How is this achieved?

Another thing: Is there a specific reason, that you don't support tvshows for the imdb function?
Reply
(2014-01-17, 01:46)theowiesengrund Wrote: Is it possible to add additional parameters besides "today"? Something like "last x days" or "last x weeks"? Would be comfortable for cronjobs.

Sure, probably just need a relative number of days, @qa.nfo.refresh=14 for any update within the previous 14 days. I'll add support shortly.

One thing I always forget is that by default the qa/qax options will only consider media (movies, episodes) added within the previous 30 days, so set @qaperiod=9999 to effectively disable this restrictive period check.

(2014-01-17, 01:46)theowiesengrund Wrote: You said somewhere that qax removes the media first from the library before rescanning - but the watched status is restored automatically (which is good). How is this achieved?

When an item is removed from the media library the watched status is not removed, so when it's added back the watched status is still there and somehow it is re-associated with the new media. It's certainly not something I'm doing. I presume it's by design/intentional, so that watched status isn't lost when the user "refreshes" a movie in the GUI.

(2014-01-17, 01:46)theowiesengrund Wrote: Another thing: Is there a specific reason, that you don't support tvshows for the imdb function?

Yes, I don't have access to a reliable source of updated IMDb information for TV Shows. I'm using www.omdbapi.com for IMDb information which supports only movies right now. Accessing IMDb information directly is not easy or reliable and can also result in legal problems...
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
texturecache.py (Version 1.3.6)
  • Chg: Support relative date periods for qa.nfo.refresh, eg. qa.nfo.refresh=7 would be 7 days prior to today (from 00:00:00). 0 is therefore equivalent to today. View the computed date/time in config.
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
Hi,

I am wondering if someone can tell me if texturecache can do what I need..

Here is my problem.. I have all my media on my NAS box accessible via SMB. Several XBMC clients running latest gotham release with mysql database.
I was reorganizing my media and deleted a whole wack of poster files.. I figured I would get those back when doing and export, but something went wrong Sad

Now I have a lot of movies that list the poster file in the nfo file, but there is no actual file. when I rescan my movies back into xbmc, I get a lot of movies with no poster now. I don't want to delete the nfo files, as there have been a lot of edits and it would be a shame to loose them.. I can't really edit these by hand or scan the poster manually via XBMC, as I have several thousand movies and that would take forever Sad

So.. can texturecache delete the entries for the missing poster files out of the mysql database and then I could export again and scan them back into xbmc? it should then see that there is no poster file or entry and download the missing file..

Any help would be appreciated!
1: Nvidia Shield TV (2017) 16GB - 2: Beelink MinixMXIII II - 3: Beelink MinixMXIII II - 4: Beelink MinixMXIII II
NAS: unRAID 6.3 Pro • Case (NZXT H440) • MB (MBD-X7SBE with SIM1U+) • CPU (Xeon X3360) • RAM (4x2GB DDR2) • SATA (6 On MB, 8 AOC-SAT2-MV8) • PSU (EVGA SUPERNOVA 650 G2) • HDD (2 x Toshiba 3TB parity, 6 x WD Red 3TB xfs, 1 x 512GB SSD cache)  • UPS (APC BR1000G)
Reply
(2014-01-18, 05:32)Msan Wrote: So.. can texturecache delete the entries for the missing poster files out of the mysql database and then I could export again and scan them back into xbmc? it should then see that there is no poster file or entry and download the missing file..

Yes, if your system is running a recent Gotham nightly (as it was only recently that it became possible to remove artwork via JSON).

Though if you remove the artwork from the media library what are you expecting to export? Exporting only exports the (generally) low quality images you have in your texture cache, XBMC won't download any artwork that is missing while exporting the library. Although if you have remote urls for artwork in your media library, you can use mklocal.py to download that artwork (the originals, not the squashed version from the texture cache) so that it becomes local artwork.

If you still want to remove the missing artwork... try texturecache.py and mklocal.py.

If you run your movies through mklocal.py with the --readonly, --nokeep and --output options then you should get instructions that remove your missing artwork. Something like:
Code:
./texturecache.py jd movies | ./mklocal.py --local <path-to-your-movies> --prefix <your-source-prefix> --artwork fanart poster --readonly --nokeep --output >updates.dat

If the output looks sensible - any artwork that is to be removed will have its value set to null - then apply the changes to your media library:
Code:
cat updates.dat | ./texturecache.py set

You'll need to work out the values for <path-to-your-movies> and <your-source-prefix>.

<path-to-your-movies> should be the OS mount that permits the script to access the files in <your-source-prefix>, eg.
Code:
./texturecache.py jd movies | ./mklocal.py --local /freenas/media --prefix nfs://192.168.0.3/mnt/share/media --artwork fanart poster --readonly --nokeep --output >updates.dat

Essentially, /freenas/media maps to nfs://192.168.0.3/mnt/share/media and vice versa.

If you want to download any remote artwork and make it local, run the mklocal.py commands above but leave out the "--readonly" and "--nokeep" options.

Of course restoring the missing artwork is probably the best option - have you looked at something like Ember Media Manager which may be able to automatically download the missing artwork?

Or having removed the missing artwork from your media library, you could try Artwork Downloader, and either enable the "use local files" option or leave this option disabled then use mklocal.py to populate your NAS with the new artwork (Artwork Downloaded does not support multiple movies in the same folder, in case that is how you have your media structured, whereas mklocal.py does).
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 the quick response!

I was just looking to get rid of the reference for the local poster file in the nfo file so that xvmc would download the file instead of just displaying a black box for the missing posters.. But it looks like mklocal should do the trick as all the nfo files have references to external artwork Smile
First time I heard about mklocal.. I will check it out..

Thanks again!
1: Nvidia Shield TV (2017) 16GB - 2: Beelink MinixMXIII II - 3: Beelink MinixMXIII II - 4: Beelink MinixMXIII II
NAS: unRAID 6.3 Pro • Case (NZXT H440) • MB (MBD-X7SBE with SIM1U+) • CPU (Xeon X3360) • RAM (4x2GB DDR2) • SATA (6 On MB, 8 AOC-SAT2-MV8) • PSU (EVGA SUPERNOVA 650 G2) • HDD (2 x Toshiba 3TB parity, 6 x WD Red 3TB xfs, 1 x 512GB SSD cache)  • UPS (APC BR1000G)
Reply
If you want to get rid of the poster from the NFO you'll need to look at some sort of automated text editor - if you're on Linux, a simple script using sed can do the job.

texturecache.py (or mklocal.py) will not modify your NFO files, but if your library references remote artwork then mklocal.py should be able to download it for you (assuming it is still available at the remote location, of course).
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
Yes, sed would work, but I figured I just take the poster reference out of the db and then just export the nfo files..

But I'll try the mklocal.py one now.. that should work
1: Nvidia Shield TV (2017) 16GB - 2: Beelink MinixMXIII II - 3: Beelink MinixMXIII II - 4: Beelink MinixMXIII II
NAS: unRAID 6.3 Pro • Case (NZXT H440) • MB (MBD-X7SBE with SIM1U+) • CPU (Xeon X3360) • RAM (4x2GB DDR2) • SATA (6 On MB, 8 AOC-SAT2-MV8) • PSU (EVGA SUPERNOVA 650 G2) • HDD (2 x Toshiba 3TB parity, 6 x WD Red 3TB xfs, 1 x 512GB SSD cache)  • UPS (APC BR1000G)
Reply
(2014-01-18, 06:30)Msan Wrote: Yes, sed would work, but I figured I just take the poster reference out of the db and then just export the nfo files..

OK yes that should work... though I thought you wanted to keep your NFOs untouched.

Just be aware that any artwork you export will be coming from the cache, and so will be lower quality than any original artwork you once had. Hence mklocal.py (which, btw, is in the tools folder on the texturecach.py github).
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
Hmm, --help should display help, no? (just downloaded this fresh from github too, so it's the latest version..)

./mklocal.py --help
File "./mklocal.py", line 450
result = None if args.nokeep pathToLocal(orig_source)
^
SyntaxError: invalid syntax
1: Nvidia Shield TV (2017) 16GB - 2: Beelink MinixMXIII II - 3: Beelink MinixMXIII II - 4: Beelink MinixMXIII II
NAS: unRAID 6.3 Pro • Case (NZXT H440) • MB (MBD-X7SBE with SIM1U+) • CPU (Xeon X3360) • RAM (4x2GB DDR2) • SATA (6 On MB, 8 AOC-SAT2-MV8) • PSU (EVGA SUPERNOVA 650 G2) • HDD (2 x Toshiba 3TB parity, 6 x WD Red 3TB xfs, 1 x 512GB SSD cache)  • UPS (APC BR1000G)
Reply
(2014-01-18, 06:35)Msan Wrote: Hmm, --help should display help, no? (just downloaded this fresh from github too, so it's the latest version..)

./mklocal.py --help
File "./mklocal.py", line 450
result = None if args.nokeep pathToLocal(orig_source)
^
SyntaxError: invalid syntax

Sorry, can you re-download it - I've just pushed a fix for that typo. Embarrassing...
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-01-18, 06:38)MilhouseVH Wrote:
(2014-01-18, 06:35)Msan Wrote: Hmm, --help should display help, no? (just downloaded this fresh from github too, so it's the latest version..)

./mklocal.py --help
File "./mklocal.py", line 450
result = None if args.nokeep pathToLocal(orig_source)
^
SyntaxError: invalid syntax

Sorry, can you re-download it - I've just pushed a fix for that typo. Embarrassing...

LOL, no worries Smile I'll download it again..
1: Nvidia Shield TV (2017) 16GB - 2: Beelink MinixMXIII II - 3: Beelink MinixMXIII II - 4: Beelink MinixMXIII II
NAS: unRAID 6.3 Pro • Case (NZXT H440) • MB (MBD-X7SBE with SIM1U+) • CPU (Xeon X3360) • RAM (4x2GB DDR2) • SATA (6 On MB, 8 AOC-SAT2-MV8) • PSU (EVGA SUPERNOVA 650 G2) • HDD (2 x Toshiba 3TB parity, 6 x WD Red 3TB xfs, 1 x 512GB SSD cache)  • UPS (APC BR1000G)
Reply
Would anyone mind elaborating what this means exactly? I am running OE and want to use this tool.

and for anyone on OpenELEC which has a pretty basic wget that doesn't support https downloads, use curl instead:
curl https://raw.github.com/MilhouseVH/textur...recache.py -o texturecache.py
chmod +x ./texturecache.py
Reply
  • 1
  • 44
  • 45
  • 46(current)
  • 47
  • 48
  • 197

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