• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 20
Clean up the Thumbnails folder
#46
bradvido88 Wrote:Why don't you do what I ask, post the contents of the .log file, and I'm sure we can fix it? Telling us that you don't understand errors or know the difference between xml, mysql, and notepad doesn't help anyone.


Ok.

my XML file:

Quote: <!--For support, see here: http://forum.xbmc.org/showthread.php?tid=96097 -->

<root>
<!--Logging Levels: This controls how verbose the logs will be.
1 = ERROR, 2 = WARNING, 3 = INFO, 4 = DEBUG
expiredays - optional attribute, default=30, Logs older than this many days will be deleted. -->
<LoggingLevel expiredays="14">3</LoggingLevel>

<!--ThumbnailDir - This is the directory where XBMC store its thumbs. Unless you are running XBMC in portable mode, it will be in your appdata folder-->
<ThumbnailDir>C:\Users\ADMIN\AppData\Roaming\XBMC\userdata\Thumbnails</ThumbnailDir>

<Simulation>true</Simulation><!--If true, no thumbnails/fanart will be deleted, so the program can be tested in a "read only" mode-->
<SpotCheck max="150">C:\ThumbCleanerSpotCheck</SpotCheck><!--If simulation is true, images that are believed to be no longer needed will be copied here (randomly, up to the max), so you can check and make sure they really should be deleted -->

<!--
Database config. Either MySQL or SQLLite can be used. One of these must be enabled for this program to work. Only 1 should be enabled at a time.
Set enabled = true for the one you would like to use. If you don't know which to use, then use SQLLite as that is the XBMC default.
-->
<SQLite enabled="true">
<VideoDBPath>C:\Users\ADMIN\AppData\Roaming\XBMC\userdata\Database\MyVideos34.db</VideoDBPath><!--Cannot be a UNC path. If the .db file is not local, map a drive to it-->
<MusicDBPath>C:\Users\ADMIN\AppData\Roaming\XBMC\userdata\Database\MyMusic7.db</MusicDBPath> <!--Cannot be a UNC path. If the .db file is not local, map a drive to it-->
</SQLite>

<XBMCMySQLServer enabled="false">
<XBMCServerName>localhost</XBMCServerName><!--Name or IP address-->
<XBMCVideoSchema>xbmc_video</XBMCVideoSchema>
<XBMCMusicSchema>xbmc_music</XBMCMusicSchema>
<MySQLUsername>xbmc</MySQLUsername>
<MySQLPassword>xbmc</MySQLPassword>
<MySQLPort>3306</MySQLPort>
<CharacterSet>latin1</CharacterSet><!--latin1 is default, and recommended. See here for details: http://forum.xbmc.org/showthread.php?p=5...post576974 -->
</XBMCMySQLServer>


<!--
JSONRPC - JSON-RPC API connectivity is required for this program to work. It is built into XBMC's Dharma release.
XBMCName - The Name or IP Address of the XBMC instance to connect to. XBMC must be running in order for the JSON-RPC API to work.
method - The method used to connect to JSON-RPC, either Raw or Curl
Raw -Uses Raw TCP/IP "telnet" type of an interface.
-Recommended method.
-Uses TCP port 9090 (not configurable).
-Faster than Curl.
-Requires going to XBMC's Settings, Network, Services, and checking "Allow Programs on this/others systems to control XBMC"
Curl -Uses Curl to communicate with XBMC's Webserver (currenlty only Windows is supported for Curl)
-Much slower than Raw method, but is available if you experience trouble with the Raw method.
-Requires going to Settings, Network, Services, and checking "Allow control of XBMC via HTTP" and setting the Port/Username/Password you desire.
<port> - The XBMC Webserver port, default 8080
<username> - The XBMC Webserver username, default none
<password> - The XBMC Webserver password, default none
-->
<JSONRPC>
<XBMCName>localhost</XBMCName><!--Either name or ip, address of the XBMC instance that is having it's thumbs cleaned up. (XBMC must be running here). -->
<method>Curl</method> <!--Either Raw or Curl -->

<!--These options are only used if Curl is specified as the method-->
<port>80</port>
<username>xbmc</username>
<password>xxxxxxxxxxxxxxxxxx</password>
</JSONRPC>
</root>

my log using CURL

Quote:03/23/2011 09:37:17 PM INFO Init... JSON-RPC config: XBMCName=localhost, method=Curl, port=80, username=xbmc, password=xxxxxxxxxxxxxxxxxx
03/23/2011 09:37:17 PM INFO Init... Testing connectivity to JSON-RPC interface...
03/23/2011 09:37:20 PM WARNING Init... The response from XBMC is not a valid JSON string:

03/23/2011 09:37:20 PM WARNING Init... JSON Returned was not valid (attempt 1 of 3), will try again...
03/23/2011 09:37:23 PM WARNING Init... The response from XBMC is not a valid JSON string:

03/23/2011 09:37:23 PM WARNING Init... JSON Returned was not valid (attempt 2 of 3), will try again...

my log using RAW

Quote:03/23/2011 09:39:06 PM INFO Init... JSON-RPC config: XBMCName=localhost, method=Raw, port=9090
03/23/2011 09:39:06 PM INFO Init... Testing connectivity to JSON-RPC interface...
03/23/2011 09:39:07 PM ERROR Init... Failed to call JSONRPC.Ping using XBMC's JSON-RPC interface: java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at utilities.XbmcJsonRpc.callMethodWithRetry(XbmcJsonRpc.java:724)
at utilities.XbmcJsonRpc.callMethod(XbmcJsonRpc.java:673)
at utilities.XbmcJsonRpc.ping(XbmcJsonRpc.java:581)
at utilities.Config.loadConfig(Config.java:248)
at mylibrary.ThumbCleaner.<init>(ThumbCleaner.java:42)
at mylibrary.ThumbCleaner.main(ThumbCleaner.java:15)

03/23/2011 09:39:07 PM WARNING Init... JSON Returned was not valid (attempt 1 of 3), will try again...
03/23/2011 09:39:08 PM ERROR Init... Failed to call JSONRPC.Ping using XBMC's JSON-RPC interface: java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at utilities.XbmcJsonRpc.callMethodWithRetry(XbmcJsonRpc.java:724)
at utilities.XbmcJsonRpc.callMethod(XbmcJsonRpc.java:673)
at utilities.XbmcJsonRpc.ping(XbmcJsonRpc.java:581)
at utilities.Config.loadConfig(Config.java:248)
at mylibrary.ThumbCleaner.<init>(ThumbCleaner.java:42)
at mylibrary.ThumbCleaner.main(ThumbCleaner.java:15)

03/23/2011 09:39:08 PM WARNING Init... JSON Returned was not valid (attempt 2 of 3), will try again...

Thanks
Reply
#47
nfusion2011 Wrote:Ok, so let me get this straight.

#1) My script is going to be run on the same win7 machine that XBMC is on.

#2) I changed all the paths which had USERNAME in them to my userID.

#3) You mentioned: "<XBMCMySQLServer enabled="true"> ====if you are not using MYSQL change this to FALSE and dont worry about the stuff below."; I'm not using whatever that is, I'm using Notepad to edit the XML, so I left that as FALSE, and as you mentioned "dont worry about the stuff below".

So really, there was nothing to change except the USERNAME for my scenario, which I had already done prior to you writing your post.

Yet I get the same garbage errors which dont help the average user troubleshoot the problem.

P.S.: I also tried to change the mode to CURL< and go in settings as you suggested, and add a name/pass (default port was 80 by the way, not 8080 in XBMC)., and I still get garbage errors that are impossible to decode.

Note I executed both the x64 and x86 releases, in admin mode and non admin mode, in curl and raw, failed every time in every combo.

Sorry about that...I misled you a bit. You need to change the information in the JSONRPC section. Are you sure the port, username, and password matches what is in the XBMC settings? Also, instead of localhost you may want to try the actual ip address of your computer.
Reply
#48
Looks like you haven't set up XBMC to accept JSON-RPC requests as detailed in the comments:
Code:
Requires going to XBMC's Settings, Network, Services, and checking "Allow Programs on this/others systems to control XBMC"
In XBMC, go to Settings-->Network and check both the options for
"Allow programs on this system to control XBMC"
"Allow programs on other systems to control XBMC"

If you are worried about security, you can uncheck them when you're done with the script.

After that, use the "Raw" method and you should be good to go.

I'm not sure why Curl isn't working, but shouldn't be needed

If you have still having trouble, change the <LoggingLevel> from 3 to 4 and re-post the log.
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#49
Same problems...

Here is my XML file again with the setting changed to RAW and debug to 4.

Quote: <!--For support, see here: http://forum.xbmc.org/showthread.php?tid=96097 -->

<root>
<!--Logging Levels: This controls how verbose the logs will be.
1 = ERROR, 2 = WARNING, 3 = INFO, 4 = DEBUG
expiredays - optional attribute, default=30, Logs older than this many days will be deleted. -->
<LoggingLevel expiredays="14">4</LoggingLevel>

<!--ThumbnailDir - This is the directory where XBMC store its thumbs. Unless you are running XBMC in portable mode, it will be in your appdata folder-->
<ThumbnailDir>C:\Users\ADMIN\AppData\Roaming\XBMC\userdata\Thumbnails</ThumbnailDir>

<Simulation>true</Simulation><!--If true, no thumbnails/fanart will be deleted, so the program can be tested in a "read only" mode-->
<SpotCheck max="150">C:\ThumbCleanerSpotCheck</SpotCheck><!--If simulation is true, images that are believed to be no longer needed will be copied here (randomly, up to the max), so you can check and make sure they really should be deleted -->

<!--
Database config. Either MySQL or SQLLite can be used. One of these must be enabled for this program to work. Only 1 should be enabled at a time.
Set enabled = true for the one you would like to use. If you don't know which to use, then use SQLLite as that is the XBMC default.
-->
<SQLite enabled="true">
<VideoDBPath>C:\Users\ADMIN\AppData\Roaming\XBMC\userdata\Database\MyVideos34.db</VideoDBPath><!--Cannot be a UNC path. If the .db file is not local, map a drive to it-->
<MusicDBPath>C:\Users\ADMIN\AppData\Roaming\XBMC\userdata\Database\MyMusic7.db</MusicDBPath> <!--Cannot be a UNC path. If the .db file is not local, map a drive to it-->
</SQLite>

<XBMCMySQLServer enabled="false">
<XBMCServerName>localhost</XBMCServerName><!--Name or IP address-->
<XBMCVideoSchema>xbmc_video</XBMCVideoSchema>
<XBMCMusicSchema>xbmc_music</XBMCMusicSchema>
<MySQLUsername>xbmc</MySQLUsername>
<MySQLPassword>xbmc</MySQLPassword>
<MySQLPort>3306</MySQLPort>
<CharacterSet>latin1</CharacterSet><!--latin1 is default, and recommended. See here for details: http://forum.xbmc.org/showthread.php?p=5...post576974 -->
</XBMCMySQLServer>


<!--
JSONRPC - JSON-RPC API connectivity is required for this program to work. It is built into XBMC's Dharma release.
XBMCName - The Name or IP Address of the XBMC instance to connect to. XBMC must be running in order for the JSON-RPC API to work.
method - The method used to connect to JSON-RPC, either Raw or Curl
Raw -Uses Raw TCP/IP "telnet" type of an interface.
-Recommended method.
-Uses TCP port 9090 (not configurable).
-Faster than Curl.
-Requires going to XBMC's Settings, Network, Services, and checking "Allow Programs on this/others systems to control XBMC"
Curl -Uses Curl to communicate with XBMC's Webserver (currenlty only Windows is supported for Curl)
-Much slower than Raw method, but is available if you experience trouble with the Raw method.
-Requires going to Settings, Network, Services, and checking "Allow control of XBMC via HTTP" and setting the Port/Username/Password you desire.
<port> - The XBMC Webserver port, default 8080
<username> - The XBMC Webserver username, default none
<password> - The XBMC Webserver password, default none
-->
<JSONRPC>
<XBMCName>192.18.10.50</XBMCName><!--Either name or ip, address of the XBMC instance that is having it's thumbs cleaned up. (XBMC must be running here). -->
<method>RAW</method> <!--Either Raw or Curl -->

<!--These options are only used if Curl is specified as the method-->
<port>80</port>
<username>xbmc</username>
<password>xxxxxxx</password>
</JSONRPC>
</root>

Here is the log, the IP address shown is my local IP, not my internet IP (ie: the one assigned by my router)

Quote:03/23/2011 10:03:56 PM DEBUG Init... Logging level set to: 4
03/23/2011 10:03:56 PM DEBUG Init... Logs will be deleted after 14 days.
03/23/2011 10:03:56 PM INFO Init... JSON-RPC config: XBMCName=192.18.10.50, method=Raw, port=9090
03/23/2011 10:03:56 PM INFO Init... Testing connectivity to JSON-RPC interface...
03/23/2011 10:03:56 PM DEBUG Init... JSON-RPC Command = {"jsonrpc": "2.0", "method": "JSONRPC.Ping", "id": "1"}
03/23/2011 10:03:56 PM DEBUG Init... Connecting to JSON-RPC at 192.18.10.50:9090
03/23/2011 10:03:57 PM ERROR Init... Failed to call JSONRPC.Ping using XBMC's JSON-RPC interface: java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at utilities.XbmcJsonRpc.callMethodWithRetry(XbmcJsonRpc.java:724)
at utilities.XbmcJsonRpc.callMethod(XbmcJsonRpc.java:673)
at utilities.XbmcJsonRpc.ping(XbmcJsonRpc.java:581)
at utilities.Config.loadConfig(Config.java:248)
at mylibrary.ThumbCleaner.<init>(ThumbCleaner.java:42)
at mylibrary.ThumbCleaner.main(ThumbCleaner.java:15)

03/23/2011 10:03:57 PM WARNING Init... JSON Returned was not valid (attempt 1 of 3), will try again...
03/23/2011 10:03:57 PM DEBUG Init... JSON-RPC Command = {"jsonrpc": "2.0", "method": "JSONRPC.Ping", "id": "1"}
03/23/2011 10:03:57 PM DEBUG Init... Connecting to JSON-RPC at 192.18.10.50:9090
03/23/2011 10:03:58 PM ERROR Init... Failed to call JSONRPC.Ping using XBMC's JSON-RPC interface: java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at utilities.XbmcJsonRpc.callMethodWithRetry(XbmcJsonRpc.java:724)
at utilities.XbmcJsonRpc.callMethod(XbmcJsonRpc.java:673)
at utilities.XbmcJsonRpc.ping(XbmcJsonRpc.java:581)
at utilities.Config.loadConfig(Config.java:248)
at mylibrary.ThumbCleaner.<init>(ThumbCleaner.java:42)
at mylibrary.ThumbCleaner.main(ThumbCleaner.java:15)

03/23/2011 10:03:58 PM WARNING Init... JSON Returned was not valid (attempt 2 of 3), will try again...
03/23/2011 10:03:58 PM DEBUG Init... JSON-RPC Command = {"jsonrpc": "2.0", "method": "JSONRPC.Ping", "id": "1"}
03/23/2011 10:03:58 PM DEBUG Init... Connecting to JSON-RPC at 192.18.10.50:9090

Heres my XBMC screen

Image
Reply
#50
K works now... i needed to have XBMX running while I ran the script, thats definitly a first, cause usually windows requires u shut down the program that the script is modifying/updating prior to running it.

Brought my thumbnail folder down 100mb out of a GB.

I did a quick test, i right clicked 1 of my movies, went to movie info, and clicked get fanart. It was my understanding, that if this worked fully it would have removed all these cached thumbnails/afan arts so it'd re download the previews, but I see all the fan arts for the movie already previewed, it didnt need to fetch them again, so there's still a whole bunch of garbage images left in my cache.... is this intentional?

it definitely cleaned something, cause I'm down 100mb, but not as much as I expected.
Reply
#51
nfusion2011 Wrote:I did a quick test, i right clicked 1 of my movies, went to movie info, and clicked get fanart. It was my understanding, that if this worked fully it would have removed all these cached thumbnails/afan arts so it'd re download the previews, but I see all the fan arts for the movie already previewed, it didnt need to fetch them again, so there's still a whole bunch of garbage images left in my cache.... is this intentional?
Glad it worked, XBMC does have to be running in order to use the JSON-RPC interface.

All this script does is delete any thumbs/fanart that are not currently used in your video and music libraries.

When you right click on a movie and go to information, get fanart, XBMC will fetch the current cached image, and (from the internet) a list of possible alternate fanart images. It has these URLS stored in its database. I do not remove these URLs with my script. They are labeled as "Remote Fanart" in the GUI.

If this is not what you are experiencing, do a screenshot and post it, because i'm not sure what you mean from your description.
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#52
bradvido88 Wrote:Glad it worked, XBMC does have to be running in order to use the JSON-RPC interface.

All this script does is delete any thumbs/fanart that are not currently used in your video and music libraries.

When you right click on a movie and go to information, get fanart, XBMC will fetch the current cached image, and (from the internet) a list of possible alternate fanart images. It has these URLS stored in its database. I do not remove these URLs with my script. They are labeled as "Remote Fanart" in the GUI.

If this is not what you are experiencing, do a screenshot and post it, because i'm not sure what you mean from your description.

Thats exactly what I'm experiencing.

The problem is there's a bug in XBMC where once you fetch the thumbs/fan arts, XBMC wont find new fan art or thumbs unless you manually "refresh" the movie (but doing so, means if the movie has a custom title, you would lose it.)

So when the prog was described as "deletes the pics not in use", to me, the not in use includes the thumbnails that are not in use cached for movies/shows that exist.

So if a movie has 7 fan arts, I have chosen #3 out of the 7, the next time I click on get fan art, I was expecting it to find the previews for all the other 6 again + any new ones that may have been posted. Unfortunately, it just loads them all from the cache again.

So I guess, any way to upgrade the script so it cleans out the database?

I posted the problem here
http://forum.xbmc.org/showthread.php?tid=97378
Reply
#53
nfusion2011 Wrote:So when the prog was described as "deletes the pics not in use", to me, the not in use includes the thumbnails that are not in use cached for movies/shows that exist.
....
So I guess, any way to upgrade the script so it cleans out the database?
....
I posted the problem here
http://forum.xbmc.org/showthread.php?tid=97378
This program is not a scraper. It doesn't check your TV/Movie meta-data site for new thumbnails.
As described in my 2nd post, it only deletes image files no longer in use from the Thumbnails/Video and Thumbnails/Music folders.

It's not an XBMC bug, just functionality that doesn't exist. The same way that if XBMC can't shovel my driveway, it's not a bug (it can by the way).

Anyway, add a feature suggestion to trac if you wish.
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#54
I'm not sure where you got the scraper comment from, I know your tool isn't a scraper, nor am i asking it to be. I was expecting it to "CLEAN" my thumbnail folders, which it does to some extent, just not as much as I was hoping for.

And, at the risk of arguing semantics, to me, a feature that says "clean library" should do just that, CLEAN the library.

I guess our definitions differ as to what "clean" actually means.

To me, if I'm not using something (ie: preview of 20 different fanarts), then that should be removed when I hit clean library.

Which, again, is what I thought your program did.

if you check my original thread (linked above), the XBMC devs recommended me to this little app, but like I said, although its a step in the right direction, its not nearly enough, there's still a ton of garbage thumbnails that are left over that I thought would be deleted.

You do realize that right? Each movie can only have 1 fan art active at a time, so if I have 20 different fan art previews stored for a movie, that to me = junk, and should be removed when a CLEAN command (either from your app, or XBMC) is issued.

Anyways, not to take your thread off tangent. Thanks for the app, hopefully you can fix/upgrade it in the near future to delete cached fan arts/posters that aren't in use.
Reply
#55
If you have at some point changed your fanart for a movie 20 times, my script will delete the 19 that are not used. What else do you want?
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#56
bradvido88 Wrote:If you have at some point changed your fanart for a movie 20 times, my script will delete the 19 that are not used. What else do you want?

The 19 previews deleted too, so the next time I click on "get fanart" XBMC is forced to retrieve them from the web, cause they arent there on my HD.

But like I said, that was just my expectation of what the program would do. If it was designed to focus on the "bigger" files, and not the previews that clutter up the thumbnail folder, then I guess its fine.

The reason is that HDDs are typically slower at accessing tons of "smaller" files rather than 1 big file, so if I'm copying over the XBMC roaming folder, or zipping it up. I get 10-12MB/s on my HDD Sad That's about 12-15x slower than the speed I expect from my HDD. This is because the xbmc roaming folder is filled with these tiny preview pics that XBMC (or your program) does not remove.
Reply
#57
Thanks for the script. I was a user of MediaPortal and was pretty anal about only keeping things in the 'art' folders that were needed. After I moved to xbmc I had to let go of my (bordering-OCD) need to keep things off my system that are not needed as I couldn't work out the xbmc storage system. It was a difficult process!

This script cleans up the Video and Audio folders within the Thumbnail folder. Also in the Thumbnail folder are folders 0 to f. What do these folders contain? Can they be cleaned up?

An example of my 'problem'; my HTPC has been set up for 5 years now and I had to download Java to run this Rofl
Image
Reply
#58
@nfusion2011: You're confused about the existence of cached preview images of fanart and the existence of pre-existing URLs to those preview images. In fact, the caching done there is smart, in that if the URLs to those images stay the same but the images themselves change, then they'd be automatically re-cached.

The problem you have is that the URLs to the available fanart (or thumb) images for a movie is cached at library scan time. It is not dynamically generated or "rescraped" when you "Get Fanart" or "Get Thumb". We know this is silly. We simply haven't had time to fix it.

Essentially there's 3 separate issues:

1. Your issue where stale URLs are stored in the database.
2. The issue where stale thumbs can be left over in Thumbnails/Video and Thumbnails/Music and there's no way, given only an image in that folder, to know if it's stale or not.
3. The issue where the stale thumbs can be left over in the Thumbnails/<hex character>/ folders. This can be solved, as we know everything about these images as they're in the Textures.db file. If you are feeling adventurous then you could write some sql queries to run through the database and identify the "most stale" textures from the cache (e.g. those that haven't been used in quite a while), delete the corresponding rows from the .db file and delete the files from disk. Let us know what queries you come up with and we'll see if we can get that into XBMC directly. A script to do this would be a welcome measure in the interim.

The script from this thread addresses case 2 above only.

Hope this helps clear things up.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#59
@[b]jmarshall
Would it be potentially safe to delete all images in the Thumbnails/<hex char> folders? Is there any instance where an image wouldn't be re-cached from the original source if it was needed again?

I'm not saying this is necessarily a good idea, but curious as to how the re-caching would work.

[/b]
XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
Reply
#60
That wouldn't work unless you clear the Texture database as well. I believe we assume that if it's in the texture database that it's available for loading.

But yes, assuming both were cleared, they'd all be recached as and when needed.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 20

Logout Mark Read Team Forum Stats Members Help
Clean up the Thumbnails folder4