XBMC Library Updater Addon

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
sufreak Offline
Senior Member
Posts: 233
Joined: Jul 2010
Reputation: 2
Post: #136
(2012-11-18 03:43)robweber Wrote:  Hey, thanks for posting your questions.

1) I've never seen the scheduler fail on a system before and I've tried multiple (OpenELEC, Windows, Linux, etc) so if you could post a debug log to pastebin I'd like to take a look. Specifically do a startup, wait a full refresh period (use the cron timer and set to every 5 minutes to make it go faster) and then shutdown. If any errors are thrown they should be visible this way.

2) Normal debug log should show all errors and even some general logging as it runs. Make sure debugging is enabled.

3) As far as the addon is concerned the path is just a regular text field so there is no way to mask anything when setting the folders. It isn't like the XBMC source setup where it knows what to mask. This isn't anything to do with the addon, just how settings are handled in XBMC.

I'll watch here for a link to the debug log if you post one.

Looks like I was mistaken. It is working. I would like to offer 2 suggestions.
1. A different method of selecting a specific folder to update. Maybe a specific library. (TV shows, movies, music, etc) I hate for my password to be in plaintext so obviously in the interface of anything. (I know its plaintext in configs)

2. Its an unrelated feature, but involves scheduling. I'd love to be able to schedule a reboot, keeping in mind if media is playing or not the way the library updates can respect that. It may or may not be needed, everyone's system is different, but I like the idea of a weekly reboot. Perhaps just utilizing the XBMC Reboot function so it would work on any system? Win, OpenElec, XBMCbuntu, etc..
find quote
gizmotoy Offline
Senior Member
Posts: 152
Joined: Jan 2011
Reputation: 0
Post: #137
I'm also having some trouble with the updater refusing to clean the library because it believes the source isn't found, similar to the user a few pages back. This was working when I was running Linux on Frodo alpha 7, but recently moved to Windows 8 and the recent Frodo Beta 1. I don't know if this is because of a change in how things work in the latest Frodo release or the OS, but it isn't cooperating.

Here is my log:
http://xbmclogs.com/show.php?id=14994

My sources essentially live on a NAS. I verified the source is visible from the machine, and I can also navigate and play files from the source within XBMC. If the autoupdate runs, it will detect newly-added files, but will not run the clean operation.

Any ideas on what I should do, or what I can try?
(This post was last modified: 2012-11-19 06:28 by gizmotoy.)
find quote
robweber Offline
Posting Freak
Posts: 880
Joined: Sep 2009
Reputation: 26
Post: #138
(2012-11-19 03:31)sufreak Wrote:  Looks like I was mistaken. It is working. I would like to offer 2 suggestions.
1. A different method of selecting a specific folder to update. Maybe a specific library. (TV shows, movies, music, etc) I hate for my password to be in plaintext so obviously in the interface of anything. (I know its plaintext in configs)

2. Its an unrelated feature, but involves scheduling. I'd love to be able to schedule a reboot, keeping in mind if media is playing or not the way the library updates can respect that. It may or may not be needed, everyone's system is different, but I like the idea of a weekly reboot. Perhaps just utilizing the XBMC Reboot function so it would work on any system? Win, OpenElec, XBMCbuntu, etc..

1. I understand the issue with the passwords being in the settings. The specific video paths exist specifically through requests that several people have made regarding their library structure. It seems that a lot of people like to have multiple paths for movies, or TV shows that they don't want updated regularly, so dividing the library into movies or tv won't solve their specific issues. In a more code-specific way the xbmc UpdateLibrary() function only allows "video" or "music" as an argument when launching a scan. Additionally for video you can give specific paths but separating TV and movies isn't something we could do without a lot of calls to the JSON interface and trying to figure out which paths belong to which sources (even then not sure if JSON has this info for the taking).

2. Although not something that can be done by this addon, you can check out this project as it may do what you are looking for. https://github.com/robweber/cronxbmc As you'll see in the README the GUI portion is unfinished, but if you don't mind making the cron.xml file yourself it will let you run XBMC commands on a timer or even launch a script if that is what you want.


(2012-11-19 06:20)gizmotoy Wrote:  I'm also having some trouble with the updater refusing to clean the library because it believes the source isn't found, similar to the user a few pages back. This was working when I was running Linux on Frodo alpha 7, but recently moved to Windows 8 and the recent Frodo Beta 1. I don't know if this is because of a change in how things work in the latest Frodo release or the OS, but it isn't cooperating.

Here is my log:
http://xbmclogs.com/show.php?id=14994

My sources essentially live on a NAS. I verified the source is visible from the machine, and I can also navigate and play files from the source within XBMC. If the autoupdate runs, it will detect newly-added files, but will not run the clean operation.

Any ideas on what I should do, or what I can try?

I took at look at the log and see exactly what you mean. There isn't any reason it should fail seeing as how it just scanned the same source a few lines above. The way this works is by using the xbmcvfs module to check if the source exists

Code:
if not xbmcvfs.exists(source['file']):

I may have to go to the source here and check with a dev on how this python module could be failing to check this. I'll write up a Trac ticket on it. Please keep your debug log up so I can reference it in the ticket. In the meantime if you are 100% positive that these sources are available just untick the "verify" option. I never use it and I have yet to trash my library.

Edit: link to my trac ticket is here: http://trac.xbmc.org/ticket/13581
(This post was last modified: 2012-11-19 18:49 by robweber.)
find quote
robweber Offline
Posting Freak
Posts: 880
Joined: Sep 2009
Reputation: 26
Post: #139
Quick note for anyone using the 'Verify Paths' option when cleaning your library.

Thanks to gizmotoy for the log information and WiSo for being extremely quick with the Trac ticket a bug has been identified in how the xbmcvfs.exists() function works on Windows systems.

The guts of the issue are that on Windows systems when using .exists() on a remote share you will always get a "false" return, even if the share is available. If testing a directory or file within that share the method works as expected. As you can imagine this will lead the Verify Paths option in this addon to return false even if you shares are available. It is unclear how long this has been an issue, but I'm guessing for a long time - Frodo builds for sure.

A commit to fix this has already been merged into mainline (https://github.com/xbmc/xbmc/commit/1d95...efee22e66f) so nightly builds and the next Frodo Beta will take care of this issue. In the meantime please be aware of this problem when using the addon.

I'm going to run some tests on Eden and if the verify paths bug exists here as well I am going to remove this option from the Eden builds by using the System.Platform.Windows condition.
find quote
gizmotoy Offline
Senior Member
Posts: 152
Joined: Jan 2011
Reputation: 0
Post: #140
Word of warning:

My NAS went down today, and Auto-update ran while it was down. I still have "Verify Sources" turned on, as discussed in the above exchange. My library was wiped out. I went into the AutoUpdate settings, and Verify Sources is clearly still enabled.

I just updated to XBMC RC1 last night. I'm not sure if that's related since this is the first time my NAS has been down in weeks, but wanted to report what I found. Unfortunately logging was off at the time.
find quote
robweber Offline
Posting Freak
Posts: 880
Joined: Sep 2009
Reputation: 26
Post: #141
(2012-12-14 04:11)gizmotoy Wrote:  Word of warning:

My NAS went down today, and Auto-update ran while it was down. I still have "Verify Sources" turned on, as discussed in the above exchange. My library was wiped out. I went into the AutoUpdate settings, and Verify Sources is clearly still enabled.

I just updated to XBMC RC1 last night. I'm not sure if that's related since this is the first time my NAS has been down in weeks, but wanted to report what I found. Unfortunately logging was off at the time.

Could I get some more info about your setup? Is the XBMC machine windows? If so is it XP, Win 7, Win 8? Are you shares SMB, NFS, etc? Also, were you on the latest version of the library updater? The more details the better as I'd like to recreate this if possible.
find quote
gizmotoy Offline
Senior Member
Posts: 152
Joined: Jan 2011
Reputation: 0
Post: #142
Haha. We just diagnosed a bug in the way XBMC works a few posts ago ;-)

To recap: Windows 8, SMB shares, brand new install of library updater on XBMC RC1. I wiped out my user directory and just copied my settings and library back in when updating to RC1, no add-ons.
find quote
robweber Offline
Posting Freak
Posts: 880
Joined: Sep 2009
Reputation: 26
Post: #143
(2012-12-14 04:54)gizmotoy Wrote:  Haha. We just diagnosed a bug in the way XBMC works a few posts ago ;-)

To recap: Windows 8, SMB shares, brand new install of library updater on XBMC RC1. I wiped out my user directory and just copied my settings and library back in when updating to RC1, no add-ons.

Sorry about that Smile I was responding to a bunch of emails/posts and didn't take a close look at who the poster was.

Anyway, one thing that occured to me, are you using any kind of file path substitution, specifically for your sources.xml document? I tried running an SMB test against XBMC RC1 and it is returning the correct true/false values on shares and folders within a share so I don't think this is related to the bug we found last time.

I'm wondering if there was something wrong with access to the sources.xml document it may be possible that the JSONRPC method returned no sources - in which case the verify paths option would have passed and started the clean. Let me know if something like this may be the case there.
find quote
gizmotoy Offline
Senior Member
Posts: 152
Joined: Jan 2011
Reputation: 0
Post: #144
My setup was pretty stock, with nothing unusual around the sources.xml doc. I did, however, just move to a new machine. I believe it may have had something to do with that upgrade because the issue hasn't recurred. I'm thinking maybe I had a settings file from an old version and when I reinstalled the plugin got the latest version and something weird happened. Not sure, though.
find quote
bigwillch Offline
Member
Posts: 58
Joined: Nov 2011
Reputation: 1
Post: #145
Hello all. Hope everyone had a great Christmas.

Thanks loads for this excellent addon. I've just got a query about the 'Verfiy sources' aspect of the Clean Library function which I'm wondering if anyone can advise on?

I have two sources in my setup (Movies and TV), each with two separate paths included (My PC, and my girlfriend's PC, both Windows 7), as illustrated below:

- Movies
--smb://MY-PC/Video/Film
--smb://GIRLFRIENDS-PC/Video/Film
- TV
--smb://MY-PC/Video/TV
--smb://GIRLFRIENDS-PC/Video/TV

It seems that if one of the PCs in the house is not turned on when the automated clean is scheduled, the clean will still run even if 'verify sources' is checked (meaning the content from the powered off PC is removed from the library). Is this expected behavior? If it is, is there anyway that the addon can check that all paths within a source are powered on before running a clean?

Hope that makes sense, any help much appreciated.
find quote
robweber Offline
Posting Freak
Posts: 880
Joined: Sep 2009
Reputation: 26
Post: #146
(2012-12-27 14:40)bigwillch Wrote:  Hello all. Hope everyone had a great Christmas.

Thanks loads for this excellent addon. I've just got a query about the 'Verfiy sources' aspect of the Clean Library function which I'm wondering if anyone can advise on?

I have two sources in my setup (Movies and TV), each with two separate paths included (My PC, and my girlfriend's PC, both Windows 7), as illustrated below:

- Movies
--smb://MY-PC/Video/Film
--smb://GIRLFRIENDS-PC/Video/Film
- TV
--smb://MY-PC/Video/TV
--smb://GIRLFRIENDS-PC/Video/TV

It seems that if one of the PCs in the house is not turned on when the automated clean is scheduled, the clean will still run even if 'verify sources' is checked (meaning the content from the powered off PC is removed from the library). Is this expected behavior? If it is, is there anyway that the addon can check that all paths within a source are powered on before running a clean?

Hope that makes sense, any help much appreciated.

The verify sources function has been a constant thorn in my side....... ( note to self, find out who suggested it write them a nasty note.......) It seems so simple, but a lot of different protocol and platform issues have made it a real beast.

A little more info on your setup may help.
1) what type of system is xbmc running on?
2) how are your sources setup? Specifically do you have one source "movies" with two paths, or do you have two different entries? If it is a multipath setup I may have to do some testing to see how the addon is handling that.
3) can you provide some debug logs (please post to pastebin and give a link). Ideally a log where one of the PCs is off would be the most helpful.

Thanks.
find quote
bigwillch Offline
Member
Posts: 58
Joined: Nov 2011
Reputation: 1
Post: #147
Many thanks for the reply. I'll work on getting some logs for you this week (will want to backup first etc.)

My system is a pi running raspbmc (using Quartz Reloaded skin in case that makes any difference). My sources are set up as one 'movies' source with 2 paths, and one 'TV' source with 2 paths.

Sorry the verify sources function is such a pain for you Smile It's incredibly useful though and is much appreciated.
find quote
robweber Offline
Posting Freak
Posts: 880
Joined: Sep 2009
Reputation: 26
Post: #148
(2012-12-31 02:09)bigwillch Wrote:  Many thanks for the reply. I'll work on getting some logs for you this week (will want to backup first etc.)

My system is a pi running raspbmc (using Quartz Reloaded skin in case that makes any difference). My sources are set up as one 'movies' source with 2 paths, and one 'TV' source with 2 paths.

Sorry the verify sources function is such a pain for you Smile It's incredibly useful though and is much appreciated.

I had a feeling the multipath was an issue. I did some digging and found the source for Multipathed directories in the xbmc source code. When checking if they "exist" it returns true if at least one of the set is available. I can see how this is a valid assumption for viewing purposes but when verifying for a clean operation it doesn't work as expected.

What I did to combat this problem is insert a catch for multipathed sources. It will split the paths and check each one individually. This should take care of the behavior you are seeing. I tested it on my system by creating some multipath sources and then removing them and it worked for me. Changes are in the git repo now, but I'm going to wait until after the New Year for a pull request.
find quote
bigwillch Offline
Member
Posts: 58
Joined: Nov 2011
Reputation: 1
Post: #149
That's fantastic, thanks. Will see if I can get hold of the git repo code and do some testing myself
find quote
sufreak Offline
Senior Member
Posts: 233
Joined: Jul 2010
Reputation: 2
Post: #150
One bug/issue I found. Its with OpenElec, which is running 24/7. (XBMC I would launch to watch)

Whenever the library update runs if there is an issue downloading data from TVDB, the system pops up the dialog box about server not found, and asks to continue or not. Usually this occurs if a library update occurs during one of my downloads.

If I'm not there to acknowledge the message, the system can freeze up. (Maybe next time the Library Updater runs, not 100% sure.) The consistent factor that the Library update attempts to run and that message is on the screen.
find quote
Post Reply