Guest - Testers are needed for the reworked CDateTime core component. See... https://forum.kodi.tv/showthread.php?tid=378981 (September 29) x
  • 1
  • 37
  • 38
  • 39(current)
  • 40
  • 41
  • 197
[RELEASE] Texture Cache Maintenance utility
If i understand correctly, you want to download your artwork from a remote location as .jpg to your local dirs? You haven't replaced any artwork locally so that you'll update textures.db?

I think you need to prune and then re-cache. But might be better to wait for Milhouse's expert opinion!
Image Image
Reply
I did prune but it's still looking for the local .tbn files. I store local artwork/nfo in my video directorys.
If I have been of help, please add to my reputation as a way of saying thanks, it's free.
Reply
Ok, if you already have your local artwork just use mklocal.py like this:

Code:
python texturecache.py jd movies | tools\mklocal.py --readonly --singlefolders --local E:\Movies --prefix E:\Movies --artwork fanart poster clearlogo clearart --output --verbose fixup.dat

fixup.dat will have what's going to me changed (if necessary).

--readonly - won't download any missing artwork
--singlefolder - indicates you have your movie collection in separate folder, one for each movie.
--local - indicates you already have local artwork
--prefix - is used to prefix media library url
--artwork - choose which types you want to consider

If you like what you see, just run:

Code:
python texturecache.py jd movies | tools\mklocal.py --readonly --singlefolders --local E:\Movies --prefix E:\Movies --artwork fanart poster clearlogo clearart --output | [b]texturecache.py set[/b]
Image Image
Reply
@Dilligaf - redglory is correct, first you need to migrate your media library from tbn to jpg, you can use mklocal.py for this, it doesn't look for tbn files but will find your jpgs and offer to substitute the jpgs in place of your tbn artwork. Once your media library has been migrated to jpgs, you can pre-load the cache with the new artwork ("c" option) and then prune away the now unreferenced tbn artwork ("P" option).
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 deleted all .tbn files from my library then ran texturecache.py P then ran texturecache.py C during the C operation I kept getting references to the now missing .tbn files, I thought the P operation would remove those references. I'll try running P again and see what happens

I still get a bunch of these when running C after running P
Code:
The following items could not be downloaded:
[poster    ] [Dead Man Down                           ] smb://fanserv/Movies/Dead Man Down (2013)/Dead Man Down.tbn
[poster    ] [Bullet to the Head                      ] smb://fanserv/Movies/Bullet to the Head (2012)/Bullet to the Head.tbn
[poster    ] [Dead Mine                               ] smb://fanserv/Movies/Dead Mine (2012)/Dead Mine.tbn
[poster    ] [Gut                                     ] smb://fanserv/Movies/Gut (2012)/Gut.tbn
If I have been of help, please add to my reputation as a way of saying thanks, it's free.
Reply
That's because you need to run mklocal.py to modify your db so that it references your .jpg artwork.
Image Image
Reply
(2013-12-02, 20:42)Dilligaf Wrote: I deleted all .tbn files from my library then ran texturecache.py P then ran texturecache.py C during the C operation I kept getting references to the now missing .tbn files, I thought the P operation would remove those references. I'll try running P again and see what happens

Stop! You need to migrate your media library from tbn to jpg.

The media library drives everything, and it still references your tbn files. Deleting the tbn files from your filesystem only means that your media library database now references non-existant artwork files.

You have two choices, either scrap your entire media library and re-scrape it using the jpg artwork, or run the mklocal.py command to convert your tbn artwork to jpg. It will find your local jpg artwork and swap in the jpg urls for whatever you have now (ie. your tbn artwork).

If you migrate the database using mklocal.py, the "c" option will then start looking for the jpgs (you don't need or want to use "C" for this), and the prune will remove the tbn artwork from the cache as they are no longer referenced by your media library.
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
Well, since I already deleted the tbn files I'll just rescrape, I've been wanting to move the MySql location for a while, I guess now's the time.
If I have been of help, please add to my reputation as a way of saying thanks, it's free.
Reply
Hey Milhouse,

A question on using mklocal - is there currently a way to download season posters/fanart to local files when using flat (ie no season folders) TV folders to use a logical naming scheme? ie. extracting files from the cache to

(show)/S01-poster.jpg (or whatever name makes sense)
(show)/S01-fanart.jpg
(show)/S02-poster.jpg
etc.
as opposed to

(show)/Season 1/poster.jpg
(show)/Season 1/fanart.jpg
(show)/Season 2/poster.jpg
etc.

I know that this would require appending the season number onto the filename, which gets us into the mirky waters of specifying custom naming conventions, so I'm guessing that it's only really possible to do this manually? I'm finding that very few art/metadata tools seem to correctly support using flat TV folders in this respect, so I was hoping for something more automated to place all the season art
Reply
(2013-12-03, 02:47)Serak Wrote: ie. extracting files from the cache to
[/code]

Just to clarify that mklocal.py does not download from the cache - it downloads the original remote sources (if still available). If you want to download from the cache, use "Export Library" (but be aware that you will not be getting the original quality artwork).

[quote='Serak' pid='1564815' dateline='1386031634']
(show)/S01-poster.jpg (or whatever name makes sense)
(show)/S01-fanart.jpg
(show)/S02-poster.jpg
etc.
as opposed to

You should already be covered in that case - this is how mklocal.py will create (or expects to find) artwork:
Quote:TVShows:
(show)[poster|fanart|landscape|banner|etc.].[jpg|png]

Seasons:
(show)/seasonXX-[poster|fanart|banner|landscape|etc.].jpg
(show)/season-specials-[poster|fanart|banner|landscape|etc.].jpg

Episodes:
(episode filename)-thumb.jpg

Movies: (--singlefolders)
(folder)/[poster|fanart|clearart|logo|etc.].[jpg|png]

Movies: (multiple movies per folder)
(folder)/(moviename)-[poster|fanart|clearart|logo|etc].[jpg|png]

Movie Sets:
(movieset-folder)/[poster|fanart|clearart|logo|etc].[jpg|png]

You can of course use whatever artwork types (poster, fanart, banner, cdart, discart) you can think of - you're not restricted to the types listed above. You specify it using --artwork, and mklocal.py will download it (if present in your media library) or assign it (if it exists in your filesystem).

If you're unsure of what mklocal.py will create when downloading, I would suggest using a "dummy" --local folder (ie. not your real media folder) and allow mklocal.py to create the directory structure that already exists in your media folder, which will then be populated by mklocal.py with the downloaded artwork. So instead of the following, which would write artwork into my media folder (/freenas/media):
Code:
./texturecache.py jd tvshows | ./mklocal.py --local /freenas/media --prefix nfs://192.168.0.3/mnt/share/media --artwork fanart poster clearlogo clearart --season --episode
I could use:
Code:
./texturecache.py jd tvshows | ./mklocal.py --local /home/media --prefix nfs://192.168.0.3/mnt/share/media --artwork fanart poster clearlogo clearart --season --episode

and then see what folders and artwork files have been created in /home/media, without any risk messing up my media folder.

Further, if you were to specify an --altlocal source:
Code:
./texturecache.py jd tvshows | ./mklocal.py --local /home/media --prefix nfs://192.168.0.3/mnt/share/media --artwork fanart poster clearlogo clearart --season --episode --altlocal /freenas/media
then mklocal.py will copy any local artwork I already have in /freenas/media to /home/media, while also downloading remote artwork to /home/media, which should mean that after the above run I would have all of my tv show artwork consolidated locally in /home/media.
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
MilhouseVH, can you guide me to reset a movie "in progress" status? I'm already using Gotham latest.

Just want to remove an item from home widget.

thanks
I wish to have Rotten Tomatoes (user+critics) + IMDB both ratings display in skin.
Reply
(2013-12-04, 17:15)tinybutstrong Wrote: MilhouseVH, can you guide me to reset a movie "in progress" status? I'm already using Gotham latest.

Just want to remove an item from home widget.

thanks

The simplest option is to play the movie and when asked if you want to resume or play from beginning, select the latter and then stop the movie.
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-12-04, 17:51)MilhouseVH Wrote: The simplest option is to play the movie and when asked if you want to resume or play from beginning, select the latter and then stop the movie.

Oh, got it. Only in library view it asks to resume or play from beginning. Not even necessary to use your magic python script hehehe.

Thanks again.
I wish to have Rotten Tomatoes (user+critics) + IMDB both ratings display in skin.
Reply
Hi there,

hmm, it's pretty strange and again I'm really helpless... A few days ago the cashing worked like a charm. Somehow it stupped suddenly working with the attatched error.

Code:
Caching artwork: 0 items remaining of 2 (qs: 0, qm: 0), 0 errors, 1 thread active (07.09 downloads per second, ETA: 00:00:00)
libAgenres.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libAgenres', u'error': {u'message': u'Internal error.', u'code': -32603}}
libVgenres.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libVgenres', u'error': {u'message': u'Internal error.', u'code': -32603}}
libVgenres.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libVgenres', u'error': {u'message': u'Internal error.', u'code': -32603}}
libVgenres.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libVgenres', u'error': {u'message': u'Internal error.', u'code': -32603}}
libAlbums.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libAlbums', u'error': {u'message': u'Internal error.', u'code': -32603}}
libArtists.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libArtists', u'error': {u'message': u'Internal error.', u'code': -32603}}
libMovies.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libMovies', u'error': {u'message': u'Internal error.', u'code': -32603}}
libTvshows.ERROR: JSON response has no result!
{u'jsonrpc': u'2.0', u'id': u'libTvshows', u'error': {u'message': u'Internal error.', u'code': -32603}}

Has someone an idea, what this message is about?

Thanks!
Reply
Hmmm... something clearly isn't right. Take a look at your xbmc.log and see if there is any clue there as to why XBMC is so broken.

If you're using MySQL, check that the database server is still working and available as it looks like your Addons re-cached OK (addons are processed before the audio genre) but then the addon database is a local db (Addons15.db).

So either MySQL is down, or if you're not using MySQL then both your MyMusic* and MyVideo* db files are corrupt (both seems a tad unlikely, though possible particularly if you're doing something daft like path substitution).

You should be able to find more detail relating to these errors in the xbmc.log - post it up if you're not sure, but it's looking like a very sick xbmc.
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
  • 37
  • 38
  • 39(current)
  • 40
  • 41
  • 197

Logout Mark Read Team Forum Stats Members Help
[RELEASE] Texture Cache Maintenance utility17
This forum uses Lukasz Tkacz MyBB addons.