• 1
  • 139
  • 140
  • 141(current)
  • 142
  • 143
  • 197
[RELEASE] Texture Cache Maintenance utility
Thanx for the suggestion

Strangely it works fine today - I am wondering it tvdb api was causing havok :-~ Does that make sense that it would cause issues if the tvdb API was down?
Reply
I should clarify the script ran fine

I seem to have the seasons artwork for each show but I am missing the artwork for the top level show itself.

When I ran the command there was no file tc.log generated in /tmp

This is the run output:

kodi@kodi:~$ /home/kodi/python/texturecache.py C @log=/tmp/tc.log


Caching artwork: 0 items remaining of 215 (qs: 0, qm: 0), 2 errors, 0 threads active (01.00 downloads per second, ETA: 00:00:00)

The following items could not be downloaded:

[fanart ] [Confluence ] /usr/share/kodi/addons/skin.confluence/fanart.jpg
[thumbnail ] [TKNorris Common Libraries ] /home/kodi/.kodi/addons/script.module.tknorris.shared/icon.png

Cache pre-load activity summary for "addons/agenres/vgenres/albums/artists/movies/sets/tvshows":

| fanart | poster | thumb | thumbnail | TOTAL
--------------+-------------+-------------+-------------+-------------+-------------
Cached | 61 | - | - | 152 | 213
Deleted | 61 | - | - | 151 | 212
Duplicate | - | - | - | - | 0
Error | 1 | - | - | 1 | 2
Ignored | - | - | - | - | 0
Season-all | - | - | - | - | 0
Skipped | - | - | - | - | 0
Undefined | 111 | - | - | 20 | 131
====================================================================================
TOTAL | 234 | - | - | 324 | 558
Download Time | 00:00:17.02 | - | - | 00:00:40.62 | 00:00:57.64

Threads Used: 2
Min/Avg/Max: 01.00 / 03.73 / 05.75 downloads per second
Min/Avg/Max: 00.00 / 00.54 / 01.51 seconds per download

Loading: 00:00:00.15
Parsing: 00:00:00.01
Comparing: 00:00:00.07
Downloading: 00:00:57.65
TOTAL RUNTIME: 00:00:57.90
Reply
Sorry, "@logfile=/tmp/tc.log" - I shouldn't post while drunk...

I wouldn't expect tvdb to be the cause of the error you reported.

If tvshow artwork is not appearing in the GUI then check the metadata with "texturecache.py jd tvshows <showname>" and you should see artwork listed for all levels - tvshow, seasons and episodes. If the artwork is missing (no poster, fanart etc.) then you need to add it (eg. Artwork Downloader) - tvdb.com was down yesterday so might have affected your scraping.
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
The log file was over 500k so pastebin failed

Here is a link to the log file: https://drive.google.com/file/d/0B9g4a26...sp=sharing

When I ran the command - /home/kodi/python/texturecache.py jd tvshows Seinfeld - I did not get any output and the main TV Show artwork for Seinfeld is still blank.

Any words of wisdom as to what I am doing incorrectly?

Thanks alot!
Reply
I installed artwork downloader and ran this addon. It ran successfully but did not find any new artwork for the main TV show screen.

Several TV shows have blank artwork with the rest having the correct artwork.

I am very confused.
Reply
(2016-12-09, 20:59)Xq1xq1xq1 Wrote: I installed artwork downloader and ran this addon. It ran successfully but did not find any new artwork for the main TV show screen in exodus.

Several TV shows have blank artwork with the rest having the correct artwork.

I am very confused.

That's because Kodi doesn't work properly with pirate sources, such as the one you mention. Buy your own media, rip it to HDD , add it to Kodi and all your issues will disappear.


NOTE

This forum does NOT support piracy OR versions of Kodi containing add-ons that stream pirated content. Please see http://forum.kodi.tv/showthread.php?tid=293112 , http://kodi.wiki/view/Forum_rules/Banned_add-ons and http://kodi.wiki/view/Forum_rules.

Cheers.
Learning Linux the hard way !!
Reply
The issue is with the downloading of the Art for TV Shows in Kodi. This is happening for DVDs that have been ripped to my computer.

The Artwork appears in the seasons screen for each TV series but for some of the series in the the main screen the artwork is blank.

I have nuked the thumbnail folder and the Textures13.db file but this has not regenerated the artwork on the main TV series screen.

texturecache.py does run but for some reason does not fix the artwork for all TV series at the root level although the individual seasons do show the correct artwork.

The issue is with the database not properly finding the artwork.

I am looking for some method of having the artwork get refreshed.
Reply
@Xq1xq1xq1 If you're using add-ons such as the one you mentioned, not only is there no support on this forum for such add-ons, but the texturecache.py script won't work for you as those add-ons do not populate your media library. You didn't see any metadata for "Seinfeld" because - as far as the media library (ie. database) is concerned - you do not have a TV show named "Seinfeld" (either fully or partially).

This script works with your media library, which is populated by scraping your media library (containing your ripped media/video files), and it does not work with video files that are scraped on the fly as only the add-on has any knowledge of those video files.

Neither will Artwork Downloader work with the add-on you mentioned, as again it works with the contents of your media library.

Unless you are having problems with media that is present in your media library, I can't give you any further help as the script is working as expected.
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
Media is present in my library.

Can you help explain what undefined means and how to debug what is undefined?

| fanart | poster | thumb | thumbnail | TOTAL
--------------+-------------+-------------+-------------+-------------+-------------
Undefined | 111 | - | - | 20 | 131

thanx!
Reply
(2016-12-10, 06:31)Xq1xq1xq1 Wrote: Media is present in my library.

Based on your log the only media you have present in your library are add-ons, and some artists (no doubt with some songs, but these were not re-cached): 166 addons, 7 artists

You have no movies and no tvshows.

(2016-12-10, 06:31)Xq1xq1xq1 Wrote: Can you help explain what undefined means and how to debug what is undefined?

| fanart | poster | thumb | thumbnail | TOTAL
--------------+-------------+-------------+-------------+-------------+-------------
Undefined | 111 | - | - | 20 | 131

thanx!

Undefined means you have an artwork entry with no value. For example:
Code:
{
  "albumid": 248,
  "artist": [
    "Pink Floyd"
  ],
  "fanart": "",
  "label": "Ultimate Dark Side of the Moon 4.1 (DTS)",
  "thumbnail": "image://nfs://192.168.0.3/mnt/share/data/Music/MP3/Pink Floyd/Ultimate Dark Side of the Moon 4.1 (DTS)/cover.jpg/",
  "title": "Ultimate Dark Side of the Moon 4.1 (DTS)"
},

In the above example, the "fanart" artwork is undefined - it is present, but not defined.
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
Thanx for the details - from your comments it looks like the issues are deeper than I thought - I will do a complete rebuild/reinstall and reimport the media.

Thanx for your time!
Reply
(2016-12-01, 09:53)Milhouse Wrote:
(2016-12-01, 07:24)firewater Wrote: Thank you very much. What I don't get is how I am to execute the texturecache.py script. I tried making a separate runtexturecache.py script that contained the lines you gave me and running it with Kodi Callbacks plugin, but syntax error appears and it doesn't work. Is this syntax for Kodi, Python, or some sort of command line?

Command line.

Right, so on cmd I'm running

Code:
C:\Windows\system32>cd C:\Program Files (x86)\Kodi (Video)\portable_data\userdat
a

C:\Program Files (x86)\Kodi (Video)\portable_data\userdata>texturecache.py qax m
ovies @qaperiod=-1 @qa.nfo.refresh=999999
Traceback (most recent call last):
  File "C:\Program Files (x86)\Kodi (Video)\portable_data\userdata\texturecache.
py", line 8583, in <module>
    main(sys.argv[1:])
  File "C:\Program Files (x86)\Kodi (Video)\portable_data\userdata\texturecache.
py", line 8279, in main
    loadConfig(argv)
  File "C:\Program Files (x86)\Kodi (Video)\portable_data\userdata\texturecache.
py", line 7746, in loadConfig
    gConfig = MyConfiguration(argv)
  File "C:\Program Files (x86)\Kodi (Video)\portable_data\userdata\texturecache.
py", line 327, in __init__
    (self.QA_NFO_REFRESH, self.qa_nfo_refresh_date, self.qa_nfo_refresh_date_fmt
) = self.getRelativeDateAndFormat(config, "qa.nfo.refresh", "")
  File "C:\Program Files (x86)\Kodi (Video)\portable_data\userdata\texturecache.
py", line 680, in getRelativeDateAndFormat
    t = datetime.date.today() - datetime.timedelta(days=int(adate))
OverflowError: date value out of range

I'm far off still, I feel. What am I missing?
Reply
qa.nfo.refresh is either an absolute date/time (eg. @qa.nfo.refresh="2016-01-01 00:00:00") or number of days relative to today, eg. @qa.nfo.refresh=1 would be yesterday @ 00:00:00.

@qa.nfo.refresh=999999 simply results in a date that cannot be calculated, so use a smaller number, preferably something realistic. Or an absolute date.
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
The script runs now! Thanks.

Ok, so hmmmmmmm it's pretty damn messy right now. This is my ideal scenario:

1. I have 100 movies.
2. I edit the .nfo of 5 of them.
3. I open Kodi
4. A script is triggered
Code:
xbmc.executebuiltin('exportlibrary(video,true,false,false,false)')
This exports an .nfo for each video, and puts it on the folder of the video. Note that the third false refers to the .nfo not being overwritten if it already exists.
5. A script is triggered
Code:
texturecache.py qax movies @qaperiod=-1 @qa.nfo.refresh=30
This detects that I modified only 5 files, and updates those.

But, right now it's updating all 100 movies. This takes a long time, and makes browsing the library impossible since all videos are being moved around, removed/readded, etc. It's also replacing the posters with a thumbnail, despite the poster.jpg existing on the folder of the video (this can be fixed with 'context > information > refresh' but then again the whole point of this is to entirely automate this menu for all movies that need it, so doing this is missing the point).

(2016-11-28, 15:15)Milhouse Wrote: However if you're refreshing everything, why not just delete MyVideos and rescan the library? You can backup/restore watched statuses with:

I think doing this would get the result that I'm having right now, when I'd like just a quick near-silent update on only the .nfo that were modified recently.

edit: ok, so I understand this better now. What happened is that, in fact, all of these .nfo had been modified during the last 30 days. I add videos all the time, so resorting to the 30 day time scope is not ideal. I'm gonna retort to 1 and see how that goes (can't try it now since they've all been modified today haha). So what's left to ask is 1. is there any other way I could mark a group of .nfo to be updated other than by reading the modified date? 2. how do I fix the poster issue?
Reply
(2016-12-11, 22:12)firewater Wrote: But, right now it's updating all 100 movies.

You'll need to look at why it is updating all 100 - it will be outputting that in the console, or wherever you are redirecting your output.

If all 100 NFOs have been updated (modified) within the last 30 days, then all 100 movies will be removed/refreshed.

Movies may also be refreshed for other reasons regardless of when the NFO is modified - missing posters, missing plots etc. This is all configurable though.

(2016-12-11, 22:12)firewater Wrote: It's also replacing the posters with a thumbnail, despite the poster.jpg existing on the folder of the video (this can be fixed with 'context > information > refresh' but then again the whole point of this is to entirely automate this menu for all movies that need it, so doing this is missing the point).

Can you provide the before and after poster artwork urls for one of your movies that loaded a thumbnail?

Although if a thumbnail is replacing a poster, that's down to the scraper you are using - the script is only telling kodi to remove the movie, then perform a video rescan (library update). Whatever is being scraped in is down to Kodi and the scraper you are using, the script has no involvement in what metadata is created during a library update.

(2016-12-11, 22:12)firewater Wrote: I think doing this would get the result that I'm having right now, when I'd like just a quick near-silent update on only the .nfo that were modified recently.

Yes, that is what it should do, so long as you eliminate the causes of the QA failures for each movie, otherwise those movies that fail QA will be repeatedly removed and rescraped every time you run the qax function.

(2016-12-11, 22:12)firewater Wrote: edit: ok, so I understand this better now. What happened is that, in fact, all of these .nfo had been modified during the last 30 days. I add videos all the time, so resorting to the 30 day time scope is not ideal. I'm gonna retort to 1 and see how that goes (can't try it now since they've all been modified today haha). So what's left to ask is 1. is there any other way I could mark a group of .nfo to be updated other than by reading the modified date? 2. how do I fix the poster issue?

Right. You should start with a shorter qa.refresh.nfo period - "0" would mean "modified since today 00:00", "1" would be "yesterday 00:00" etc.

1. No. Movies (and TV show episodes) fail QA for a number of configurable reasons (defaults being: missing artwork, missing plot, missing mpaa). Movies/Episodes will be removed/rescanned whenever they fail QA
2. I'll need to see the before/after artwork urls (texturecache.py jd movies <somemoviename>). If you had a remote poster, and a local thumbnail, then it's possible the scraper will use the local thumbnail and replace the poster during remove/rescan. However without knowing what you had before, and what you have now, I can't really say what or why the scraper has replaced the poster with a thumbnail.
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
  • 139
  • 140
  • 141(current)
  • 142
  • 143
  • 197

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