• 1
  • 43
  • 44
  • 45(current)
  • 46
  • 47
  • 197
[RELEASE] Texture Cache Maintenance utility
(2014-01-10, 16:55)goslo Wrote: This is the result when I run ./texturescache.py /R. I do believe these orphaned files need to go and there is nothing wrong with the db, so I added the properties file to the same folder as the script with the added "no", did a chmod +x on it and still I get the same message. Are there any other settings I need to do on the .cfg file?

The properties file should be called "texturecache.cfg" - I'm guessing you called it texturescache.cfg, if the way you named the script is anything to go by. Also, there is no need to chmod the properties file. You can see your current configuration, and the filename of the relevant property file, by running "./texturecache.py 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
Quote:The properties file should be called "texturecache.cfg"
I did have the name right and when I run "./texturecache.py config" I see orphan.limit.check = yes, when I check texturecache.cfg in nano I see orphan.limit.check = no. The .cfg file is in the same directory so I'm at a loss as to what is going on

Thanks for the great script and the fast reply btw,
George
Reply
(2014-01-11, 03:59)goslo Wrote:
Quote:The properties file should be called "texturecache.cfg"
I did have the name right and when I run "./texturecache.py config" I see orphan.limit.check = yes, when I check texturecache.cfg in nano I see orphan.limit.check = no.

What does it say at the top of the config output? It should be something similar to the following:
Code:
Current properties (if exists, read from texturecache.cfg):
which tells me the properties file being used is located in my current working directory.

(2014-01-11, 03:59)goslo Wrote: The .cfg file is in the same directory so I'm at a loss as to what is going on
When looking for a properties file the script will check your current directory first, and if no properties file is found it will then check the directory where the script is located. So if you're not in the script directory, make sure you don't have a file called texturecache.cfg in your current working directory (even if the file is empty) as this will be used in preference to the version you may be adding properties to in the script folder.

Finally, if nothing else works, paste up your texturecache.cfg - maybe it contains errors or is malformed (are you using sections?)
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
Finally got it to work by pasting the texturecache.cfg from page 1 into nano, removing all leading spaces, changing "orphan.limit.check" to = no and saving. Then the command ./texturecache.py R worked just fine. I had saved the file a couple of different ways using Notepad++ and Pluma, but none worked. Thanks again, I look forward to using this great tool

George
Reply
Hi MilhouseVH,

first of all thanks for your awesome work - regarding the openelec testbuilds and also this utility.

Due to the many options, i'm not really sure if i can use the utility in my - a little bit complicated - workflow, which can be summarized in this way:

I'm using one of your openelec gotham testbuilds on my Raspberry Pi. All my media is made available through NFS shares. With the use of a media manager (in detail: Vimedia Manager for Mac OS X), i organize all of my artwork and fanart within every movie and tvshow folder.

My "problem" is, that my library is updated every morning and for all of my new movies and tv shows, most of the time there is no local nfo and artwork available and therefore the movie/tv show scrapers are used. Every two weeks i manually download and organize the metadata with my media manager for all the new files (and also update all of the imdb ratings for my entire collection, while i'm at it).
To update XBMC, every 2 weeks after the use of my media manager, i clean my library first and then rescan every library share, to use the local artwork and metadata.

Is there a functionality in your utility, where i could optimize this workflow. The QA check just checks for missing items, which isn't the real problem here. The imdb flag seems useful for update the ratings (is the updated rating also written in the local nfo file?). I'm also not really 100% sure what the texture caching actually does and how it relates to my use case!? Sorry for the noobish questions ;-)

Thanks in advance!
Reply
(2014-01-13, 18:31)theowiesengrund Wrote: Is there a functionality in your utility, where i could optimize this workflow.

I'm not entirely clear on what the problem is with the current workflow - is it that you want to re-scrape those movies without NFO files (or artwork) once an NFO file and artwork becomes available?

The lack of artwork is a default trigger for qax, so that shouldn't be a problem. However, knowing when to re-scrape based on the presence of an NFO is trickier and not currently supported - suggestions welcome on how to detect this. Perhaps passing a pivot date would work - any NFO files created after this date could result in the corresponding movie/episode being removed and re-scraped, eg:

Code:
./texturecache.py qax movies @qa.nfopivot="2014-01-11 08:00:00"

So, assuming you create all the missing NFOs after 8am on 11 Jan, the above would automatically re-scrape just those movies that now have one of the new NFO files.

Let me know if this is what you are after, and I'll add it.

(2014-01-13, 18:31)theowiesengrund Wrote: The imdb flag seems useful for update the ratings (is the updated rating also written in the local nfo file?).

No, it doesn't write it back to the NFO - for that you'll need to export your library. If you're can avoid re-scraping the entire library (with the suggested change above) then not writing the IMDB ratings to the NFO shouldn't really be a problem, just re-run the imdb option every two weeks and update the items in-place.

(2014-01-13, 18:31)theowiesengrund Wrote: I'm also not really 100% sure what the texture caching actually does and how it relates to my use case!?

Unless you're using MySQL and multiple clients, it almost certainly doesn't.
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
Hello! To be sure to understand (English is not my native language), this script allows both to clean the cache (delete unnecessary entries ...) and reset it without having to go to each Image (my RPi do not like too much and slows down after deleting the cache).

Is it working with caches previews youtube videos and other addons of this kind?

If I'm right, what is the command sequence to perform in the terminal to clear the cache effectively?

Edit :
I would also delete any image cache on the actors. Is that possible?
Reply
(2014-01-15, 22:09)Levi59 Wrote: Hello! To be sure to understand (English is not my native language), this script allows both to clean the cache (delete unnecessary entries ...) and reset it without having to go to each Image (my RPi do not like too much and slows down after deleting the cache).

Yes, the "prune" (p, P options) and "orphan" (r and R options) will identify (p, r) and remove (P, R) unnecessary entries - basically anything that isn't referenced by your media library.

To "reset" the cache you can forcibly cache items, that's the "C" option. The "c" option will re-cache items only if they are not already in the cache.

(2014-01-15, 22:09)Levi59 Wrote: Is it working with caches previews youtube videos and other addons of this kind?

No, as youtube videos are not represented in the media library so there is no way to know what images need to be cached. Only the YouTube plugin knows anything about YouTube media, there is no way for this script to query this information either from a database, or via JSON.

(2014-01-15, 22:09)Levi59 Wrote: If I'm right, what is the command sequence to perform in the terminal to clear the cache effectively?

Code:
./texturecache.py P
./texturecache.py R
./texturecache.py C all

Although if you just want to start from scratch, with a completely empty cache, it would be quicker to delete the userdata/Database/Textures13.db file, and the entire Thumbnails folder, restart XBMC, then just run:
Code:
./texturecache.py c all
to re-cache all of your artwork (music, videos, addons, pvr channels etc.)

If you are using extrafanart or extrathumbs and want those to be cached, then enable the @cache.extra=yes setting on the command line (or add "cache.extra=yes" to your texturecache.cfg properties file).

(2014-01-15, 22:09)Levi59 Wrote: I would also delete any image cache on the actors. Is that possible?

As long as you have "cache.castthumb=no" (which is the default setting) then whenever you prune the cache (P) the cast artwork will be deleted. And with this setting, no cast artwork will be cached by the c or C options.
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 thank you ^ ^

For the cache of addons like youtube, if it can not verify their origin, will he consider them as orphans and delete them or ignore them and leave them in the cache?
Reply
(2014-01-15, 23:14)Levi59 Wrote: For the cache of addons like youtube, if it can not verify their origin, will he consider them as orphans and delete them or ignore them and leave them in the cache?

Yes, by default addon artwork such as YouTube previews will be pruned (deleted) unless you add a pattern to prune.retain.types which will ensure that the YouTube previews are retained and not removed, eg.
Code:
./texturecache.py P @prune.retain.types=^http://i.ytimg.com

should work as the YouTube addon appears to be caching images with urls such as http://i.ytimg.com/vi/C0mtaG2x76w/0.jpg

If you want to keep artwork for other addons, add extra patterns using a comma delimiter, eg:
Code:
prune.retain.types=^http://i.ytimg.com, ^http://www.bbc.co.uk/iplayer
to keep both YouTube and BBC iPlayer artwork.
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 for the explanation! ^^

Will has a wiki page or a detailed documentation on how to use your script?
Reply
There is a Texture_Cache_Maintenance_utility (wiki) page, or read the first post in this thread. As long as you have a basic concept of how the XBMC texture cache works, it should make sense...
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.5)
  • 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.
  • Add: volume option - set volume level 0-100, mute, unmute eg. volume mute
  • Chg: Clearly differentiate between QA failures (which will prompt a refresh during qax) and warnings (which won't prompt a refresh)
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 have a little probleme... I have removed Texture database and Thumbnail folder but after reboot, there is an error with option "c all" :
Code:
xbian@xbian ~ $ ./texturecache.py C all
Traceback (most recent call last):
  File "./texturecache.py", line 6326, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 6083, in main
    if not checkConfig(argv[0]): sys.exit(2)
  File "./texturecache.py", line 5758, in checkConfig
    data = jcomms.sendJSON(REQUEST, "libPing", checkResult=False, useWebServer=True)
  File "./texturecache.py", line 1508, in sendJSON
    data = self.sendWeb("POST", "/jsonrpc", json.dumps(request), {"Content-Type": "application/json"}, timeout=timeout)
  File "./texturecache.py", line 1476, in sendWeb
    raise httplib.HTTPException("Remote web host requires webserver.username/webserver.password properties")
httplib.HTTPException: Remote web host requires webserver.username/webserver.password properties
xbian@xbian ~ $ ./texturecache.py c all
Traceback (most recent call last):
  File "./texturecache.py", line 6326, in <module>
    main(sys.argv[1:])
  File "./texturecache.py", line 6083, in main
    if not checkConfig(argv[0]): sys.exit(2)
  File "./texturecache.py", line 5758, in checkConfig
    data = jcomms.sendJSON(REQUEST, "libPing", checkResult=False, useWebServer=True)
  File "./texturecache.py", line 1508, in sendJSON
    data = self.sendWeb("POST", "/jsonrpc", json.dumps(request), {"Content-Type": "application/json"}, timeout=timeout)
  File "./texturecache.py", line 1476, in sendWeb
    raise httplib.HTTPException("Remote web host requires webserver.username/webserver.password properties")
httplib.HTTPException: Remote web host requires webserver.username/webserver.password properties
Reply
You have to specify username and password on you texturecache config file.
Image Image
Reply
  • 1
  • 43
  • 44
  • 45(current)
  • 46
  • 47
  • 197

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