• 1
  • 20
  • 21
  • 22(current)
  • 23
  • 24
  • 197
[RELEASE] Texture Cache Maintenance utility
I'll check that out, but nothing changed on the failed titles between the backup and the restore. I also just noticed that after the restore many of my movies have a last played date and time of today at the time that I ran the restore. I'm guessing like 70% or more are like that.
Reply
(2013-08-12, 06:09)RockDawg Wrote: I'll check that out, but nothing changed on the failed titles between the backup and the restore. I also just noticed that after the restore many of my movies have a last played date and time of today at the time that I ran the restore. I'm guessing like 70% or more are like that.

Check the file you created as it will contain the "lastplayed" value - is it set to today? When the lastplayed date is restored, it uses the date/time in the file (which should be the date/time from your old database).
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
No, the movies that have today's date do not match the last played date in the DAT file. Some movies did restore with the date from the file, but most didn't.
Reply
OK, it's possible that some of the lastplayed dates in your new database are more recent than the lastplayed dates you are trying to restore, so the script keeps the more recent date/time (ie. the lastplayed component is not restored if it is going to replace - overwrite - a more recent date/time).

For one of the movies that didn't restore the lastplayed date, run the following:
Code:
./texturecache.py @extrajson.movies=lastplayed Jd movies <name-of-movie>

and compare the date it has with the date in the file - see which is more recent, the database or the file.
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 looking at the contents of the db so I can see that the db has a newer last played date than the DAT file. Hence my last post. What I don't understand is how the db would have any date other than what was inputted from restoring the DAT file. I started with a completely new db tonight, scanned in all my movies and restored the DAT file.
Reply
Yes, normally the lastplayed date is blank ("") until it is played... Strange that it has newer dates, but that would explain why the script ignored the older lastplayed dates present in the DAT file.

If you want to restore all of the values from the DAT file, even those that may be older than values now in the database, then set "@watched.overwrite=yes" on the command line when you restore the file again - this should set the lastplayed dates to be whatever is in the file.

The reason I implemented it like this is that you might backup your watched statuses, then watch (or resume) one or more movies, then for whatever reason later still you decide to restore the status file (maybe you removed and re-added a movie) but you don't want to lose those watch status updates that occurred after the last backup.

I'm interested in those items that didn't restore at all though, I'd like to understand why they didn't match.
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
My problem is that I actually did this last weekend too after you told me about texturecache being able to do this. The same thing happened then (I didn't realize it until tonight). So while a bunch have older dates in the DAT file, they are all dated 2013-08-03. Ironically, it every movie that has that 2013-08-03 date in the DAT file that has todays date in the current db.

I guess I am going to have to restore my db to a copy from before 2013-08-03, backup to a new DAT file, delete the db, let XBMC create a new one, scan movies and restore from DAT file. I'll keep an eye on the the last played date/time throughout. But I have to say I am thinking something is going wrong with the DAT restore becaue there should be no value in the last played field until I restore from the file and I find it strange the the times listed are exactly during the time the restore was runnning.

We'll see. I'll try to get to it tomorrow and let you know what I find. Thanks again for your help.
Reply
Cool, restoring the old db should help get to the bottom of this. Each time you backup/restore the DAT file, if you could also capture a verbose log that would help with any subsequent debugging.
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
Will do.
Reply
It seems to be XBMC that is scanning them in with today's date and time as the last played value. I saw many of them in the db like that before I even restored the DAT file. So I was wrong, the Texture Cache utility is not doing it. Running the restore did result in 17 unmatched items like I mentioned yesterday (ignore the error on The Godafather. That was my fault). Here is the log:

https://app.box.com/s/cq9t8fvpokkxsoa2s6y9

Also would it be possible to have this script backup and restore the date added? I know XBMC will restore based on the ctime or mtime of the file, but that screws things up for me. For example, If I added the movie The Godfather from DVD on 05-25-2005 and today I purchase the Blu-Ray, rip and scan it into XBMC, I always manually edit the existing Godfather entry in the db to point to the new file so that XBMC does not see it as a new movie and the watched status, play count and last played time remain intact. I do this because, to me, that info is specific to the movie and not the format. So I would much prefer the date added remain at 05-25-2005. Unfortunately re-scanning the library will replace that date with the newer date since the file attributes are now different.

I know my method is non-standard, but if it's possible to make your script do it and you have the time I would certainly find it useful and appreciate it. If not, no big deaal.
Reply
Unfortunately the logfile is incomplete as you mistyped the logfile.verbose property, so I'm unable to explain why those 17 movies are unmatched.

If you run the following and upload the log, I should be able to work it out.

Code:
texturecache.py watched movies restore movieswatched.dat @logfile=tc.log @logfile.verbose=yes

(2013-08-13, 06:42)RockDawg Wrote: Also would it be possible to have this script backup and restore the date added?

I'll look into it, not sure if the dateadded field is modifiable via JSON - if it is, I'll add support but it won't be enabled by default.

Edit: At least in Frodo/12.2, it's not possible to set the dateadded property on a movie. Sad
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
Sorry about that. Here is the new log:

https://app.box.com/s/mfjcjtfmiq32j0gh90fo
Reply
(2013-08-13, 07:07)RockDawg Wrote: Sorry about that. Here is the new log:

https://app.box.com/s/mfjcjtfmiq32j0gh90fo

No problem and thanks.

OK, all 17 are due to naming or year changes that have occurred with the new scrape.

Listed below are the movies that didn't match, first is the name and year of the movie as it was backed up in movieswatched.dat, and beneath is the name and year of the movie as it now appears in your media library:

Code:
NO MATCH movie: Battle: Los Angeles (2011)
                Battle Los Angeles (2011)
NO MATCH movie: Bones (2001)
                Bones (2005)
NO MATCH movie: Finding Nemo (2003)
                Finding Nemo 3D (2003)
NO MATCH movie: Ghost Ship (2002)
                Ghost Ship (0)
NO MATCH movie: Halloween (1978) (1978)
                Halloween (1978)
NO MATCH movie: Halloween (2007) (2007)
                Halloween (2007)
NO MATCH movie: Lara Croft: Tomb Raider: The Cradle of Life (2003)
                Lara Croft: Tomb Raider - The Cradle of Life (2003)
NO MATCH movie: Lucky Number Slevin (2006)
                Lucky # Slevin (2006)
NO MATCH movie: Red Dawn (1984) (1984)
                Red Dawn (1984)
NO MATCH movie: Red Dawn (2012) (2012)
                Red Dawn (2012)
NO MATCH movie: S.W.A.T. (2003)
                SWAT (0)
NO MATCH movie: Saw III (2006)
                **not present in media library***
NO MATCH movie: The Hitcher (1986)
                The Hitcher (2007) x2
NO MATCH movie: Titanic (1997)
                Titanic in 3D (1997)
NO MATCH movie: Toy Soldiers (1991)
                Toy Soldiers (2012)
NO MATCH movie: Tremors 3: Back to Perfection (2001)
                Tremors III: Back to Perfection (2001)
NO MATCH movie: Turner && Hooch (1989)
                Turner & Hooch (1989)

Most of the differences should be obvious, and you can edit movieswatched.dat file to correct the movie names and then restore the file again.

Not sure what's going on with Ghost Ship and SWAT, as both have missing years in your library.

SAW III doesn't appear to be present in your library at all (unless it's got a completely different name).

The Hitcher is present twice in your media library, both for 2007, and I'm guessing one of those movies should be for 1986.

The entry for Turner & Hooch has a double ampersand - I think that's how it must have been named in your old database as I've got movies with ampersands and the backup doesn't create them with double ampersands.
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
One other command you can run, which might find your missing SAW III movie assuming it's still on your NAS, is:
Code:
texturecache.py missing movies <movie source name>

The above will compare your media library with your movie source and highlight any discrepancies. Run "texturecache.py sources" to get a list of your sources.
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 -

I am getting tons of

Quote:17:27:52 T:432 ERROR: Texture manager unable to load file: special://masterprofile/Thumbnails/c/c5f59203.jpg

errors that seem to be the source of xbmc slowing to a crawl when navigating through both movies and tv. does this utility fix this issue?
Reply
  • 1
  • 20
  • 21
  • 22(current)
  • 23
  • 24
  • 197

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