pymedusa / Medusa

Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.
https://pymedusa.com
GNU General Public License v3.0
1.79k stars 276 forks source link

Less strict searching #2825

Closed Arathen closed 7 years ago

Arathen commented 7 years ago

I guess this is more of a feature request. I've noticed that Medusa seems heavily dependent on its indexers (TVDB, etc) in deciding whether or not to search for episodes. If the indexer says the episode hasn't aired, then Medusa doesn't search. The problem with this is that the indexers aren't very good at determining whether/when an episode is available. There are instances where episodes release/leak online ahead of their broadcast date. There are instances where indexers are slow to update and show episodes as "Unaired" when they actually have. And there are instances where indexers just have the wrong information. I've been caught with all of these examples are various times since starting to use Medusa a couple of months ago.

My request would be to provide a mechanism where Medusa just searches for episodes, regardless of the indexer status or scheduled air date/time. For shows that have an airdate, maybe provide the option to search up to X hours ahead of time. For shows that are listed as "Unaired", maybe provide an option to search every Y number of hours regardless. All could be user configurable "search frequency" options, with min/max thresholds to prevent unnecessary spamming of providers.

Performing a manual search of an episode which is unaired does yield downloadable results. The problem with this approach is that A) the user may not be aware the episode is available, so doesn't know to hit the "manual" button and 2) It defeats the whole purpose of automation in making life easier.

Thanks for the consideration.

OmgImAlexis commented 7 years ago

This has been discussed multiple times in the past and the problem comes down to "how do we know if the episodes are legitimate". The main time this comes up is for people using public torrent sites.

If we don't have something(tvdb, etc.) that can tell us when an episode is meant to be out then we also end up spamming sites, for example I have 300+ shows on Medusa should Medusa search my 5 providers for 1 episode per show every single day? That's at minimum 1,500 requests just for my shows, even worse is when you're using NZB and have an API limit just searching for episodes would take me over the API limit for most shows and that's just for new episodes without taking into account backlogged ones.

p0psicles commented 7 years ago

Hi Arathen, I'd like to add to what omg already mentioned. We are working with allot of user initiatives. Meaning that people do not make a living off providing information to Medusa. Sites like tvdb, tvmaze, tmdb and the nzb torrent providers, often do not like these automated tools, using their data. They get most of their revenue through users visiting their sites and "watching" their ads. That's how they can stay "alive".

As a kind of an unwritten agreement we have with them, they let us use it, while we try to limit the amount of traffic from our users to a minimum.

That said, there are still things we can do. Like for example utilize the RSS feeds/daily searches. As those kind of searches we do anyway. So if we see an episode appear prematurely, we can accept it. I don't know if we do this already. I'll have to check that.

Something else we can do, is use external sources that provide us with "releases". For example like a preDb. And as soon as an episode appears, try to search for it. We are not doing this now.

So in short, we can definitely offer a solution to your problem. We just have to be smart about it.

Arathen commented 7 years ago

Ok that makes more sense. I was never suggesting that Medusa should hammer the providers. That wouldn't end well for anybody. But there has to be a compromise between that and what currently exists. I even pointed out in my post that it should be subject to thresholds so providers don't get spammed.

I haven't looked at the code, but from observation it doesn't seem that there is a mechanism for premature episodes to be caught. I went through today and manually snatched 6 episodes of a show that were all still marked as "Unaired", all of which had been available for the last few weeks. I would imagine that these ones would be the most problematic to deal with, because theres no point of reference for when to start looking. If Medusa was already collecting general data and storing it somewhere, then periodically searching it locally for unaired/soon to air episodes sounds like a good improvement.

PreDB's can be a little hit and miss, from what i've found in the past. But again, if one were implemented and it helped catch misses, then id be all for it.

Thanks for taking a second look at this. I appreciate it.