• 1
  • 160
  • 161
  • 162(current)
  • 163
  • 164
  • 197
[RELEASE] Texture Cache Maintenance utility
(2018-03-30, 07:30)Milhouse Wrote:
(2018-03-30, 01:16)sniferx1 Wrote: How can I your your tool and refech the Thumbs? Also anyway to use your tool and perform full lib refresh in this case?

The script is only caching what is in your media library.

Run texturecache.py jd movies Throwaways and paste the result.   
As below
                         
{    "art":{     
"banner": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/banner.jpg/",      
"clearlogo": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/logo.png/",      
"discart": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/disc.png/",      
"fanart": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/fanart.jpg/",      
"fanart1": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/extrafanart/fanart3.jpg/",      
"fanart2": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/extrafanart/fanart4.jpg/",      
"fanart3": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/extrafanart/tl4PVCR531NWngjA7UE4GkEwRSm.jpg/",      
"fanart4": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/extrafanart/wOsMynjVixipUR9yvcnjzG0jJKJ.jpg/",      
"landscape": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/landscape.jpg/",      
"poster": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/poster.jpg/",      
"thumb": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/extrathumbs/thumb1.jpg/",      
"thumb1": "image://nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015/extrathumbs/thumb2.jpg/"    },    
"file": "nfs://192.168.1.xxx/volume1/Movie_Belly/Movies 1970 to 2012/The.Throwaways.2015.DVDRip/The.Throwaways.2015.DVDRip.avi",    
"label": "The Throwaways",    
"movieid": 3911,    
"title": "The Throwaways"  }]]


Also:
These Thumbs are in the "extrathums" folder and I have deleted it and also did execute the "P". However when I did "c" these Extra Thumbs are getting cache again even that folder not in the source Movies path.

All I need a way is to remove these "Extrathums" ref from the the local cache DB.
Reply
@Milhouse 

Thanks to one of your previous post by using below method and two command my problem for that specific Movie gone. 

Golden Question is how can I set this as Bulk as I like to remove all "art.thumb" and "art.thumb1" from Movies and TV shows and not sure what I can pass to trigger for all. As you can imagine passing Movie ID, one at a time is very time consuming....
  ./texturecache.py set movie 3911 art.thumb ""  ./texturecache.py set movie 3911 art.thumb1 ""
Reply
You'll need to write a simple shell script that iterates over the movie ids (which you can extract with "jd movies") and for each movie id, set the artwork to "".

Something like...
Code:
#!/bin/bash

while read -r movieid; do
   ./texturecache.py set movie ${movieid} art.thumb "" art.thumb1 ""
done <<< "$(./texturecache.py jd movies | awk '/"movieid":/{ gsub(",",""); print $2}')"
should work.
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
(2018-03-30, 11:45)Milhouse Wrote: You'll need to write a simple shell script that iterates over the movie ids (which you can extract with "jd movies") and for each movie id, set the artwork to "".

Something like...
Code:
#!/bin/bash

while read -r movieid; do
./texturecache.py set movie ${movieid} art.thumb "" art.thumb1 ""
done <<< "$(./texturecache.py jd movies | awk '/"movieid":/{ gsub(",",""); print $2}')"
should work. 

WOW @Milhouse your magic script fixed every single one of them and now I got perfect thumbs. Thanks again for helping this Noob. I really appreciate your help on this.

If it's make sense kindly make this feature part of this tool as others might make use of it as well.

Thanks million again....
Reply
Hello,

I'm writing to you today because I'm wondering if your super script may help me Smile
I'm using a daily routine to purge and clean my database but here my questions...

1. It can't find OMDb information for most (all?) of the movies/tvshows/episodes. Do I have to provide an API key somewhere?
What is the problem there?
xml:
Could not obtain OMDb details for [movie] tt0248667 (Ali)
Could not obtain OMDb details for [movie] tt0080339 (Airplane!)
Could not obtain OMDb details for [movie] tt0103639 (Aladdin)
Could not obtain OMDb details for [movie] tt0043278 (An American in Paris)
Could not obtain OMDb details for [movie] tt0112384 (Apollo 13)
Could not obtain OMDb details for [movie] tt2316204 (Alien: Covenant)
Could not obtain OMDb details for [movie] tt0808151 (Angels & Demons)
Could not obtain OMDb details for [movie] 60599 (Arbitrage)
Could not obtain OMDb details for [movie] tt2094766 (Assassin's Creed)
Could not obtain OMDb details for [movie] tt2543164 (Arrival)
Could not obtain OMDb details for [movie] tt4853102 (Batman: The Killing Joke)
Could not obtain OMDb details for [movie] tt5519340 (Bright)
Could not obtain OMDb details for [movie] tt0892255 (Che: Part One)
Could not obtain OMDb details for [movie] 293310 (Citizenfour)

2. I'm wondering is if it's possible to also refresh all information like plot, episodes titles, etc.

3. I'm using the application Sonarr to manage my tvshows and every 12 hours, they refresh posters with the most trendy one.
Is it possible to do the same with this script? How can I be sure Kodi will always have good and updated images?
For example for the tvshows American Crime Story, the 2nd season is completely different than the first one so I was expecting new images but I had to do it manually.

4. When doing ./texturecache.py c video I have a lot of errors like:
xml:
[banner    ] [11.22.63                                ]
[banner    ] [A Series of Unfortunate Events          ]
[banner    ] [Altered Carbon                          ]
[banner    ] [American Crime Story                    ]
[banner    ] [Band of Brothers                        ]
[banner    ] [Black Mirror                            ]
[fanart    ] [11.22.63                                ]
[fanart    ] [A Series of Unfortunate Events          ]
[fanart    ] [Altered Carbon                          ]
[fanart    ] [American Crime Story                    ]
[fanart    ] [Band of Brothers                        ]
[fanart    ] [Black Mirror                            ]
[poster    ] [A Series of Unfortunate Events          ]
[poster    ] [Altered Carbon                          ]
[poster    ] [American Crime Story                    ]
[poster    ] [Band of Brothers                        ]
[poster    ] [Black Mirror                            ]
How to fix that?

Thanks thanks thanks and thanks Smile
Reply
(2018-04-07, 23:58)raspdealer Wrote: For example, it can't find OMDb information for most of the tvshows and episodes, for example Westworld which is pretty famous.
I'm not responsible for the quality of the data provided by omdbapi.com - you'll need to report it to omdbapi.com on their github.

Unfortunately it's not uncommon for well known tvshows to be missing entirely, or have entire seasons that are missing. Newly aired episodes will often be missing for several weeks/months, assuming they're ever added at all. It's all a bit random, and there's never any good reason given for the glaring omissions.

(2018-04-07, 23:58)raspdealer Wrote: Do I have to provide an API key somewhere?
You can make 1000 OMDb API requests per day without an API key, however any reasonably sized movie or tvshow library will blow through that limit fairly easily resulting in incomplete coverage.

For $1/month you can make 100,000 requests/day - go to omdbapi.com and register via the Patreon link, then once you have your API key add "omdb.apikey=<yourkey>" in texturecache.cfg.

Given the less than 100% data coverage you'll have to decide for yourself whether paying for omdb access is worth it. IMHO it was only ever acceptable while it was free (1000 requests/day renders it virtually unusable for any realistic purpose).

(2018-04-07, 23:58)raspdealer Wrote: The second thing I'm wondering is if it's possible to also refresh all information like plot, episodes titles, etc.
If you add imdb.fields.tvshows=votes,rating,plot,title to texturecache.cfg then it should set plot and title in addition to votes and rating.

(2018-04-07, 23:58)raspdealer Wrote: And as a third question: I'm using the application Sonarr to manage my tvshows and every 12 hours, they refresh posters with the mode trendy one. Is it possible to do the same with this script?
"mode trendy one" - I assume you mean most popular one?

If your artwork is local then you can re-cache recently modified artwork with
text:
./texturecache.py C tvshows @cache.artwork=poster @cache.refresh=0
which will forcibly re-cache any tv show posters modified since 00:00 of the current day. Use cache.refresh=1 for artwork modified since midnight of the previous day. If you want to update the episode thumbnails instead of posters then replace @cache.artwork=poster with @cache.artwork=thumb.

By the way, the output of ./texturecache.py imdb needs to be piped into ./texturecache.py set if you want to apply any changes to your database, ie:
text:
echo '## Updating IMDB...'
./texturecache.py imdb movies | ./texturecache.py set
./texturecache.py imdb tvshows | ./texturecache.py set
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
Thanks for your answer.
I think you started answer before my last edit Smile

I will have a look tomorrow !
Reply
1. Actually without an API key the script now aborts with the following message:
text:
ERROR: imdb functionality is no longer available without a valid API key.
Visit www.omdbapi.com to sign up for an API key, then add
omdb.apikey=<yourkey>
to texturecache.cfg
You can request a "free" (1000/day) API Key from omdbapi which I assume you've now got, in which case it's also possible you've blown through the limit and OMDb won't talk to you until tomorrow.

Otherwise I don't know what the error might be when querying those movies - could be a timeout, or OMDb might not know those movies (it will only know movies by their imdb tt codes, so "Arbitrage" and "Citizenfour" won't ever be found). You'll need to enable logging with @logfile=/tmp/tc.log and upload it somewhere and paste the link, or look yourself and work out what isn't working (there should be an error message from OMDb in the log).


4. Looks like you have artwork with a blank or null url. Send me a link to a log file (uploaded on pastebin.com, or zipped on dropbox etc.) for ./texturecache.py c videos "Black Mirror", or run ./texturecache.py jd tvshows "Black Mirror" (and upload the results on pastebin.com) then paste the link, so that I can confirm, but if this is the case then something has set these urls in your library (sql updates, perhaps?)
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
(2018-04-08, 01:13)Milhouse Wrote: If you add imdb.fields.tvshows=votes,rating,plot,title to texturecache.cfg then it should set plot and title in addition to votes and rating.
OK I will test that, thanks! Is there any equivalent and recommended fields for movies?
(2018-04-08, 01:13)Milhouse Wrote: If your artwork is local then you can re-cache recently modified artwork with
text:
./texturecache.py C tvshows @cache.artwork=poster @cache.refresh=0
which will forcibly re-cache any tv show posters modified since 00:00 of the current day. Use cache.refresh=1 for artwork modified since midnight of the previous day. If you want to update the episode thumbnails instead of posters then replace @cache.artwork=poster with @cache.artwork=thumb.
What do you mean my local? 
(2018-04-08, 01:13)Milhouse Wrote: By the way, the output of ./texturecache.py imdb needs to be piped into ./texturecache.py set if you want to apply any changes to your database, ie:
text:
echo '## Updating IMDB...'
./texturecache.py imdb movies | ./texturecache.py set
./texturecache.py imdb tvshows | ./texturecache.py set
 
Didn't know that. I will do it.
Reply
(2018-04-08, 09:29)raspdealer Wrote: Is there any equivalent and recommended fields for movies?

imdb.fields.movie

Have a look at ./texturecache.py config | grep imdb to see what fields are currently used. Search this thread to see where such fields have been discussed previously.

(2018-04-08, 09:29)raspdealer Wrote: What do you mean my local? 
I mean stored in your local filesystem alongside your movies or tvshows, rather than artwork which is accessed from the internet (ie remote).


You sent me a link by PM to the "jd" output for Black Mirror, which looks OK so I'm not sure why you're getting those messages - it should output the url it can't cache (which it hasn't) so you've either pasted something in post #2420 that is incomplete or I'm misunderstanding the issue due to a lack of context... can you send me the logfile for ./texturecache.py c tvshows "Black Mirror" @logfile=/tmp/tc.log and also the *entire* output on your console screen once you have run this command.
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
OK here I am.
Your last comment helped to find out that my software stopped to generate assets in the folder directly. I fixed it and now I have much less errors.

Now I will wait to see how it react when a new poster will be released and if my routine is enough and let you know Smile

Thanks!
Reply
Hi @Milhouse  just found this thread I was wondering how I can use this cache my movies, I am using Artwork Beef to scrape my movies.

Nvidia Shield with Kodi nightly release Leia.


Thanks!
MY CURRENT MEDIA PLAYER | MY HOME THEATER
MINIX NEO U22-XJ COREELEC v19 MATRIX | EGREAT A10 | NVIDIA SHIELD | LG 75 NANO90 DV/HDR+ | Sony 43 Android TV HDR
XBOX SERIES X  | PS4 PRO 4K | JBL 9.1 System 5.1.4 DTS:X/ATMOS 
Reply
(2018-04-21, 12:58)movie78 Wrote: Hi @Milhouse  just found this thread I was wondering how I can use this cache my movies, I am using Artwork Beef to scrape my movies.

Nvidia Shield with Kodi nightly release Leia.


Thanks!

There are some details in the first post, which might be worth a read.

texturecache.py c @kodi.host=<shield-ip-address> should work.
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
(2018-04-21, 13:19)Milhouse Wrote:
(2018-04-21, 12:58)movie78 Wrote: Hi @Milhouse  just found this thread I was wondering how I can use this cache my movies, I am using Artwork Beef to scrape my movies.

Nvidia Shield with Kodi nightly release Leia.


Thanks!

There are some details in the first post, which might be worth a read.

texturecache.py c @kodi.host=192.168.2.XX should work.   
Quote:Installation instructions

For instructions on how to run a Python script, see here.

Windows users will need to install Python 2.7.x or Python 3.3.x, if not already installed (see how-to).

Download the single Python script file - use "Save as" in your browser - from github. A default properties file is available on github, rename this to texturecache.cfg in order to use it, although in many cases it's not required and should just be considered a template - pick and choose what options you wish to override.


 @Milhouse 

Ok this what i have done so far, i am very novice at this so might need some work..

Download the python and install on my windows 10 PC and also downloaded the texturecache.py

How i am suppose to run the texturecache.py file script in window so all my scape movies get cache?
MY CURRENT MEDIA PLAYER | MY HOME THEATER
MINIX NEO U22-XJ COREELEC v19 MATRIX | EGREAT A10 | NVIDIA SHIELD | LG 75 NANO90 DV/HDR+ | Sony 43 Android TV HDR
XBOX SERIES X  | PS4 PRO 4K | JBL 9.1 System 5.1.4 DTS:X/ATMOS 
Reply
(2018-04-21, 13:52)movie78 Wrote: How i am suppose to run the texturecache.py file script in window so all my scape movies get cache?
You start a Windows command prompt and run the commands. Did you read the Windows "how-to" post (the link in is your quoted text)? Unfortunately the images in the post no longer work, but read the text.
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
  • 160
  • 161
  • 162(current)
  • 163
  • 164
  • 197

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