Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Do not automatically download huge shows #108

Open
edualm opened this issue Mar 2, 2024 · 8 comments
Open

[Feature Request] Do not automatically download huge shows #108

edualm opened this issue Mar 2, 2024 · 8 comments
Labels
enhancement New feature or request

Comments

@edualm
Copy link

edualm commented Mar 2, 2024

Problem: A user watchlists a TV Show with a lot of seasons. The server doesn't have the capacity to download that all at once, so gets overwhelmed with that download request.

Solution: Query the server for the number of seasons a show has, and if it's above a certain configured threshold, do not automatically download. Ideally, log this somewhere / send an alert to the server owner (using e-mail/Telegram/...). Adding a setting to alert the server owner instead of downloading automatically when a user requests a show that has ended could also be useful.


If you don't have the capacity to implement this, I wouldn't mind giving it a try. I'm a software engineer but never touched any Scala code, so if that's the case and you don't mind giving me some pointers, I'd be grateful! :)

@nylonee
Copy link
Owner

nylonee commented Mar 5, 2024

Hello! Sorry for the delayed response, it's been a busy week!
This is certainly a great idea. I'm happy to implement this but if you wanted to give it a shot as well, I'm happy to help support your efforts :)

It would also be a good test that my CI/CD pipelines work beyond just me, I have a feeling the way it's set up only I can use it, because it's pushing to my docker repo.

You probably want to implement this in two steps:

  1. Set a limit for number of seasons to download, if the limit is exceeded then print something to console and do not send to Sonarr (or send, but disable the search for missing episodes)

  2. Alerting system to send alerts to a platform of choice. I wouldn't want to re-invent the wheel here, so if there's an easy webhook or something I can attach without too much additional manual instrumentation, then that would be ideal. I'll do some research here

Feel free to reach out to me on discord (@ nylonee) if you're interested in helping out and I can help you get a dev environment set up :) You shouldn't need the Scala compiler if you're comfortable letting docker do the building, but a JVM-compatible IDE like IntelliJ or VSCode is a must.

@brotaxt
Copy link

brotaxt commented Apr 1, 2024

It would be great if we could add single episodes or seasons to the Plex watchlist 😔

@nylonee nylonee added the enhancement New feature or request label Apr 6, 2024
@nylonee
Copy link
Owner

nylonee commented Apr 6, 2024

As an alternative that can be implemented today:

  1. Turn on Plex notifications for new content added to your Plex library (can be configured via the Plex phone app)
  2. Set Watchlistarr to download only the first season (by setting the sonarr monitorType to firstSeason

The first season of any show will download, you'll get a notification and you can go in and decide to trickle-download the rest of the season

@edualm
Copy link
Author

edualm commented Apr 6, 2024

@nylonee That gave me an idea for my use case - add everything with a monitorType of none, then have another external script look for added shows on Sonarr and decide what to do. Works for me, hopefully it works for others too, and makes watchlistarr simpler. :)

@glensc
Copy link
Collaborator

glensc commented Apr 7, 2024

I think firstSeason is good addon.

@brotaxt
Copy link

brotaxt commented Apr 7, 2024

As someone who also wants this, I voted for the following Plex forum threads. Maybe we could raise the attention for this with more votes

https://forums.plex.tv/t/watchlist-allow-adding-single-tv-episodes-not-just-the-full-show/858078

https://forums.plex.tv/t/support-tv-shows-seasons-on-watchlist/788112

@nylonee
Copy link
Owner

nylonee commented Apr 8, 2024

@glensc Actually firstSeason is already implemented.

I can't seem to link nicely to this, but if you go to the Sonarr API Docs and do a search for MonitorTypes, you'll see the full list of available monitor types:

[ unknown, all, future, missing, existing, firstSeason, lastSeason, latestSeason, pilot, recent, monitorSpecials, unmonitorSpecials, none, skip ]

Setting the string in Watchlistarr directly sends the monitor type to Sonarr and lets Sonarr handle what to do. It's going to be a bit harder for Watchlistarr to do any middle-ware logic on these, as we'll need to fetch more than just the TVDB id for shows, we'll also need to fetch the number of seasons of a show. In the case of anime, sometimes they're advertised as one season with 500 episodes.

Given the complexity, I agree that the solution should be implemented on a service that has better knowledge of show structure, such as Sonarr or Plex.

@nylonee
Copy link
Owner

nylonee commented Apr 8, 2024

That being said, allowing some user-written middleware functions for filtering your requests doesn't seem that out of scope for Watchlistarr's capabilities...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants