Hi Everyone!
Sorry for my long absence, I was out of town for a week or so and just plain forgot to check the tread when I got back. For some reason I'm not being emailed about any of the thread updates (even though I selected to be notified). Oh well, I'll try and check back every day or so from now on.
Here we go:
Bugs
I've read through all the new postings and have made note of all the issues people are experiencing. I've created an issue ticket for each one in the project issue tracker and will address them as soon as I can. The issue tracker can be found at
http://github.com/kierse/mediarover/issues
Queue Checking
There seems to be some confusion regarding how Media Rover schedules new nzbs for download; specifically the topic of queue checking. This confusion is largely my fault as I've never actually explained how Media Rover schedules new downloads. Also, I believe I misinterpreted what Jayman was asking me in his email and thought I was answering something else. Lets see if I can clear things up a bit:
Before scheduling a download, MR does the following:
1. check if a given episode is from a watched TV series
2. checks if the episodes season is being ignored
3. looks for episode on disk (depending on users preferences, this could be a single episode file or part of a multi-part episode file (ie s01e01-s01e02)
4. checks for episode in SABnzbd queue (see below for more detail on this step)
5. checks if episode is already in list of new downloads to schedule
6. checks the SABnzbd backup dir to see if nzb has already been seen
* new *
7. finally, it does some checking based on the users preferences pertaining to multi-part episodes
If a given episode makes it all the way through all those checks, it is added to a list of downloads. Once MR is finished processing all source feeds, each nzb in the list is sent to SABnzbd for download.
Checking the SABnzbd queue
When consuming a source feed, Media Rover does a lot of string parsing. It basically breaks up the nzb name and extracts the parts necessary to make a successful match. Here's an example using the Newzbin nzb naming convention:
Some Awesome Show - s01e10 - What A Great Episode.nzb
Media Rover is able to extract the following:
series name = "Some Awesome Show"
season number = 01
episode number = 10
episode title = "What A Great Episode"
Note: the same process happens when Media Rover builds a list of episodes in the SABnzbd queue and when determining whats available on disk.
Continuing with the example above, MR would then use the data it extracted to see if the new episode is in the queue or on disk. Because the whole process is dependent on some string parsing, it can be unreliable at times. That's what makes Newzbin so awesome: it has a community standard of sorts when it comes to naming episodes. This makes it much easier to get reliable results when processing feeds.
Anyway, doing this kind of data based check vs only doing a nzb check has a couple benefits:
1. If more than one nzb is encountered, only the first will be downloaded (hopefully)
2. nzbs for the same content from different sources won't get downloaded.
The reason I added the nzb backup check was because I have encountered a few situations where Media Rover attempts to download a broken nzb over and over again. SABnzbd obviously ignores these duplicates but MR keeps on trying. The added bonus of this feature is that if an nzb makes it past the data based check when it shouldn't, the backup check will catch it.
Hopefully that clears things up a bit. If not, please let me know
Project Management
Now that there are a few people using MR, I think the time has come to make some changes to how I've been running things. First of all, I'm going to start publishing a changelog somewhere. I'm not yet sure where I'll put this but it'll probably be added to http://mediarover.tv. Second, I broke Media Rover yesterday when I pushed some code that wasn't quite ready for public use. Even though I solved the problem fairly quickly, it did make me realize that I'm not the only one put out when I break things. Going forward, I plan on rolling some actual releases that users can download and use with confidence. I'll continue to push code updates that anyone can download but I won't be as concerned about breaking things between releases. Third, I'm interested in formalizing a process to get input and feedback from users. Do any of you out there have any suggestions? Something like
https://uservoice.com would be interesting.
Future
As rollingeyeball pointed out, I'm currently working on a UI for Media Rover that will hopefully simplify the process of configuration. Once that's done, my plan was to tackle the Standard def vs HD topic that a few people have asked for.
That's all for now. As I've told a few people, please send me your questions/comments/concerns. I'm all ears!
Kierse