• 1
  • 175
  • 176
  • 177(current)
  • 178
  • 179
  • 197
[RELEASE] Texture Cache Maintenance utility
texturecache.py qax movies @qa.nfo.refresh=0
texturecache.py C movies @cache.artwork=poster @cache.refresh=0

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
(2019-05-12, 21:20)Milhouse Wrote: texturecache.py qax movies @qa.nfo.refresh=0
texturecache.py C movies @cache.artwork=poster @cache.refresh=0

should work.

Thanks Milhouse!
Reply
(2019-01-16, 17:34)Milhouse Wrote: Yes, probably (or it is rate-limiting).

Thanks but how can i fix this?
Reply
(2019-07-20, 12:50)Pienoet Wrote: Thanks but how can i fix this?

I don't really have a solution (other than retrying at another time).
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 am attempting to scan a folder, Movies - Kids, for set artwork to cache.  I believe I must be missing some artwork from a set which is causing texturecache.py to give an error.  However, I have no idea which set is missing artwork as the the error doesn't yield the name of the collection for which the error is for.  When this error has been present in the past, a specific subfolder with exact artwork name was provided. Any ideas how to either ignore the missing artwork or narrow down which specific file it is?

The command being run is:
Quote:texturecache.py jd sets | tools\mklocal.py --singlefolders --ignorebadprefix --local "Z:\Movies - Kids" --prefix "Z:\Movies - Kids" --artwork poster fanart clearlogo:logo clearart discart:disc characterart:character banner landscape --output | texturecache.py set
The error is:
Quote:Traceback (most recent call last):
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 885, in <module>
main(init())
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 868, in main
workitem = processItem(args, mediatype, media, download_items)
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 417, in processItem
newname = processArtwork(args, mediatype, media, mediatitle, artitem["type"], mediafile, oldname, artpath_m, artpath_s, is_excess=False)
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 508, in processArtwork
fname = pathToXBMC(getImage(args, mediatype, media, title, atype, filename, currentname, target))
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 592, in getImage
ifile = open(target, "wb")
IOError: [Errno 13] Permission denied: 'Z:\\Movies - Kids\\poster'
Traceback (most recent call last):
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 8643, in <module>
main(sys.argv[1:])
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 8549, in main
setDetails_batch(dryRun=dryRun)
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 6246, in setDetails_batch
jdata = json.loads("".join(data))
File "C:\Python27\64-bit\lib\json\__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "C:\Python27\64-bit\lib\json\decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\64-bit\lib\json\decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Reply
(2019-07-22, 16:50)radigast Wrote: I am attempting to scan a folder, Movies - Kids, for set artwork to cache. I believe I must be missing some artwork from a set which is causing texturecache.py to give an error. However, I have no idea which set is missing artwork as the the error doesn't yield the name of the collection for which the error is for. When this error has been present in the past, a specific subfolder with exact artwork name was provided. Any ideas how to either ignore the missing artwork or narrow down which specific file it is?

The command being run is:
Quote:texturecache.py jd sets | tools\mklocal.py --singlefolders --ignorebadprefix --local "Z:\Movies - Kids" --prefix "Z:\Movies - Kids" --artwork poster fanart clearlogo:logo clearart discart:disc characterart:character banner landscape --output | texturecache.py set
The error is:
Quote:Traceback (most recent call last):
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 885, in <module>
main(init())
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 868, in main
workitem = processItem(args, mediatype, media, download_items)
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 417, in processItem
newname = processArtwork(args, mediatype, media, mediatitle, artitem["type"], mediafile, oldname, artpath_m, artpath_s, is_excess=False)
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 508, in processArtwork
fname = pathToXBMC(getImage(args, mediatype, media, title, atype, filename, currentname, target))
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 592, in getImage
ifile = open(target, "wb")
IOError: [Errno 13] Permission denied: 'Z:\\Movies - Kids\\poster'
Traceback (most recent call last):
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 8643, in <module>
main(sys.argv[1:])
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 8549, in main
setDetails_batch(dryRun=dryRun)
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 6246, in setDetails_batch
jdata = json.loads("".join(data))
File "C:\Python27\64-bit\lib\json\__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "C:\Python27\64-bit\lib\json\decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\64-bit\lib\json\decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
IOError: [Errno 13] Permission denied: 'Z:\\Movies - Kids\\poster'

Do you have authorization for this path from where you are running the script?
Image Image
Reply
(2019-07-22, 17:09)redglory Wrote:
(2019-07-22, 16:50)radigast Wrote: I am attempting to scan a folder, Movies - Kids, for set artwork to cache. I believe I must be missing some artwork from a set which is causing texturecache.py to give an error. However, I have no idea which set is missing artwork as the the error doesn't yield the name of the collection for which the error is for. When this error has been present in the past, a specific subfolder with exact artwork name was provided. Any ideas how to either ignore the missing artwork or narrow down which specific file it is?

The command being run is:
Quote:texturecache.py jd sets | tools\mklocal.py --singlefolders --ignorebadprefix --local "Z:\Movies - Kids" --prefix "Z:\Movies - Kids" --artwork poster fanart clearlogo:logo clearart discart:disc characterart:character banner landscape --output | texturecache.py set
The error is:
Quote:Traceback (most recent call last):
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 885, in <module>
main(init())
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 868, in main
workitem = processItem(args, mediatype, media, download_items)
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 417, in processItem
newname = processArtwork(args, mediatype, media, mediatitle, artitem["type"], mediafile, oldname, artpath_m, artpath_s, is_excess=False)
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 508, in processArtwork
fname = pathToXBMC(getImage(args, mediatype, media, title, atype, filename, currentname, target))
File "D:\Kodi\portable_data\0. Custom\tools\mklocal.py", line 592, in getImage
ifile = open(target, "wb")
IOError: [Errno 13] Permission denied: 'Z:\\Movies - Kids\\poster'
Traceback (most recent call last):
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 8643, in <module>
main(sys.argv[1:])
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 8549, in main
setDetails_batch(dryRun=dryRun)
File "D:\Kodi\portable_data\0. Custom\texturecache.py", line 6246, in setDetails_batch
jdata = json.loads("".join(data))
File "C:\Python27\64-bit\lib\json\__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "C:\Python27\64-bit\lib\json\decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\64-bit\lib\json\decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
IOError: [Errno 13] Permission denied: 'Z:\\Movies - Kids\\poster'

Do you have authorization for this path from where you are running the script? 
Yes, I do.  I ran the script multiple times before this caching artwork from both the movie and TV categories.  When the error came up in these scan, a specific missing file was flagged.  However, when run with the sets category, I am unable to find which subfolder to look in.
Reply
(2019-07-22, 17:13)radigast Wrote:
(2019-07-22, 17:09)redglory Wrote:
(2019-07-22, 16:50)radigast Wrote: I am attempting to scan a folder, Movies - Kids, for set artwork to cache. I believe I must be missing some artwork from a set which is causing texturecache.py to give an error. However, I have no idea which set is missing artwork as the the error doesn't yield the name of the collection for which the error is for. When this error has been present in the past, a specific subfolder with exact artwork name was provided. Any ideas how to either ignore the missing artwork or narrow down which specific file it is?

The command being run is:
The error is:
IOError: [Errno 13] Permission denied: 'Z:\\Movies - Kids\\poster'

Do you have authorization for this path from where you are running the script? 
Yes, I do. I ran the script multiple times before this caching artwork from both the movie and TV categories. When the error came up in these scan, a specific missing file was flagged. However, when run with the sets category, I am unable to find which subfolder to look in. 
Oh I see, you've set an image that you don't have now on your file system thus the error
python:
ifile = open(target, "wb")

You can query your categories for images and run some kind of script to match your file system. Or modify mklocal.py to print "target" and see what file pops when the error occurs.
Image Image
Reply
mklocal.py is trying to create a binary (jpg) file called Z:\Movies - Kids\poster - does this path already exist, perhaps as a directory (not a file)?

It's not obvious why mklocal.py is trying to create a filename without an extension - it would be interesting to see your Sets metadata, you may have a mangled filename or artwork type in your library.

Try enabling verbose mode by adding --verbose to the mklocal.py command - this might output relevant information prior to the error which allows you to identify the problem Set.

Failing that, dump your Sets metadata to pastebin (long winded solution for Windows: texturecache.py jd sets >textfile then upload textfile to a http://pastebin.com).
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
It looks like there actually was a file called poster with no extension.  This file was not visible in the rlcone mount until a force refresh was enabled.  The root culprit seems to be the artwork scanner that processed the files.  For some reason, it created a picture file with no extension.  I have since removed this rogue file and ensured that all sets have their artwork named correctly.  The scan has run successfully, and, thanks to texturecache.py, I was able to figure out the problems this scanner was creating in my well-groomed artwork.

I have also discovered that there are many illegal characters in my filenames too.  Valid foreign characters with various accents and whatnot...but, I have also needed to clean these up too.
Reply
This no longer works for me for some reason. Tried Python 3.7.4, 3.4.2, and 32bit/64bit versions...

https://i.imgur.com/PdPSbCX.png

I am on Windows 10 and Kodi is in the default install location. I've been using this exact setup for ages, but this program randomly stopped working. 

My cfg file only has: 
allow.recacheall = yes
download.threads = 8
Reply
(2019-08-04, 05:30)Argonis Wrote: This no longer works for me for some reason. Tried Python 3.7.4, 3.4.2, and 32bit/64bit versions...

https://i.imgur.com/PdPSbCX.png

I am on Windows 10 and Kodi is in the default install location. I've been using this exact setup for ages, but this program randomly stopped working. 

My cfg file only has: 
allow.recacheall = yes
download.threads = 8

Run C:\Texturecache\Ben\texturecache.py c @logfile=C:\tc.log then upload the c:\tc.log file and post the link.
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
It just runs the command with no error then stops just like if I run the normal program. Doesn't create any file under C:/.

https://i.imgur.com/U29MqGP.png

I don't know what im doing wrong. It worked perfectly before. It doesn't even matter if kodi is running or not, it does the same thing. It's like it's not invoking the script at all. I don't believe I have ran the tool since kodi v17. Does have to do with the fact kodi is now 64bit?
Reply
(2019-08-04, 20:29)Argonis Wrote: It just runs the command with no error then stops just like if I run the normal program. Doesn't create any file under C:/.

https://i.imgur.com/U29MqGP.png

I don't know what im doing wrong. It worked perfectly before. It doesn't even matter if kodi is running or not, it does the same thing. It's like it's not invoking the script at all. I don't believe I have ran the tool since kodi v17. Does have to do with the fact kodi is now 64bit?

If it doesn't produce a log file then I'd have to say your Python installation is fubar.

Try a simple program such as C:\test.py:
text:

#!/usr/bin/env python

print("Hello world!")

Create the above file in Notepad, then try running it with C:\test.py - if it doesn't work (it doesn't print Hello world!) then you'll need to fix your Python/Windows installation which has changed in some way (no idea how/what, sorry).

Running the texturecache.py script shouldn't have anything to do with Kodi - you don't even need Kodi installed on the same host in order to run this script. All you need is a working Python interpreter...
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
Yeah, as figured that test script does the same. No clue whats going on. I tried 3 versions of python. 

I am giving up for now until I can confirm it works on a different computer using the exact same setup + Windows version. Maybe python is bugged on the newer Win10 update or something? The only thing I think I have changed is switching from NOD32 anti-virus to Windows Defender. Maybe it is blocking python somehow, but not seeing anything in the logs. So weird...
Reply
  • 1
  • 175
  • 176
  • 177(current)
  • 178
  • 179
  • 197

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