Schaka / janitorr

Cleans your Radarr, Sonarr, Jellyseerr and Jellyfin before you run out of space
GNU General Public License v3.0
313 stars 7 forks source link

Feature Request: Exclude Specific Series/Movies from Deletion in Janitorr #13

Closed coltondick closed 7 months ago

coltondick commented 7 months ago

Description

I propose a new feature for Janitorr that enables users to specify certain series and movies to be excluded from the deletion process. This feature will allow users to list titles directly in the application.yml configuration file. Such a feature would be beneficial for users who want to retain specific media files regardless of the general deletion criteria.

Suggested Implementation

Example Use Case

The following are example titles that users might want to exclude from deletion:

Updated application.yml Configuration Example


server:
  port: 8978

file-system:
  access: true
  leaving-soon-dir: "/data/media/leaving-soon"
  from-scratch: true

application:
  dry-run: true
  leaving-soon: 14d
  movie-expiration: 90d
  season-expiration: 60d
  ignore-list: # New feature to ignore specific titles
    series:
      - "Shark Tank (US)"
      - "Viva La Bam"
    movies:
      - "Ready or Not"
      - "The Conjuring: The Devil Made Me Do It"
      - "Rogue One: A Star Wars Story"
      - "I Am Jane Doe"
      - "Sex Trafficking in America"
      - "Beetlejuice"
      - "Black Panther"
      - "Remember Me"
      - "Benny & Joon"
      - "Fear and Loathing in Las Vegas"
      - "The Texas Chainsaw Massacre"
      - "Drop Dead Fred"
      - "The Rocky Horror Picture Show"
      - "The Notebook"

clients:
  sonarr:
    url: "http://localhost:8989"
    api-key: "4ed7f4d0e8584d65aa2d47d944077ff6"
  radarr:
    url: "http://localhost:7878"
    api-key: "cd0912f129d348c9b69bb20d49fcbe44"
  jellyfin:
    enabled: true
    url: "http://localhost:8096"
    api-key: "4da8d93992804489ba2d1f0e31b8316c"
    username: Janitorr
    password: janitorr
  jellyseerr:
    enabled: true
    url: "http://localhost:5055"
    api-key: "MTY3NzU3NzI0NzgzOWFhNWYxMGE4LWNlMWYtNDc1ZS04ODYzLThkMjQyMTQ4M2NiZCe="

torrent:
  type: QBITTORRENT
  name: qBittorrent
  auto-resume: true
  url: "locahost:8080"
  username: admin
  password: adminadmin
Schaka commented 7 months ago

This is a good issue. I'll keep it up but I'm not making any promises. I think using Jellystat for viewing stats and deciding based on that would make most sense.

A setting like this would likely require some form of GUI. We'd have to work with Sonarr/Radarr or Metadata (IMDB, TMDB) IDs. Title matching, at least, is too volatile.

coltondick commented 7 months ago

When working with Sonarr/Radarr it may be easiest to exclude anything that has a specific tag, ie janitorr_exclude, that could be provided in the application.yml

This would allow users to simply tag their media for Janitorr exclusion. This way you don't have to rely on titles, or metadata ID's, or require a GUI (which I believe you've said you'd like to stay away from in another issue).

Schaka commented 7 months ago

I didn't even think to use tags in that way. That would absolutely work and catapults this issue to the highest priority imo. It should be easy enough to implement, that I'm hoping to get around to it this week or next at the latest.

Schaka commented 7 months ago

This turned out to be fairly easy and was implemented in v0.10.0