About a year and a half ago I posted a script I made for deleting movie content in your library not being watched. Folks really seemed to like it, and I still get comments on that thread every so often. So I've updated it!
Far and away, the two biggest requests I got were:
- Make it do TV, too
- Make a dry-run mode
- Edit: Added just now: a protected mode when you volume mount a
protected
file!
The code is now available on github here:
https://github.com/ASK-ME-ABOUT-LOOM/purgeomatic
Even better, no installation is required. You can run it as a docker container like so:
docker run --rm -it --env-file .env --network=host ghcr.io/ask-me-about-loom/purgeomatic:latest python delete.movies.unwatched.py
It now supports TV series as well. Thanks to a suggestion from /u/JimLahey-, I was able to get my head around the idea - I had always thought of managing TV shows as "collections of seasons" of media, but the reality is, if nobody has watched anything related to a TV show in a while, the whole thing can go! And that's what this does:
docker run --rm -it --env-file .env --network=host ghcr.io/ask-me-about-loom/purgeomatic:latest python delete.tv.unwatched.py
No more editing python, either. Create yourself a .env file, set up all of your config, and even enable dry run mode, so you can test to your heart's content:
$ docker run --rm -it --env-file .env --network=host ghcr.io/ask-me-about-loom/purgeomatic:latest python delete.movies.unwatched.py
DRY_RUN enabled!
--------------------------------------
2023-08-25T12:40:57.288608
DRY RUN: Chaos Walking | Radarr ID: 1445 | TMDB ID: 412656
DRY RUN: Captain Marvel | Radarr ID: 885 | TMDB ID: 299537
DRY RUN: Captain America: Civil War | Radarr ID: 1768 | TMDB ID: 271110
DRY RUN: Black Widow | Radarr ID: 1517 | TMDB ID: 497698
DRY RUN: Birds of Prey (and the Fantabulous Emancipation of One Harley Quinn) | Radarr ID: 1092 | TMDB ID: 495764
DRY RUN: Bill & Ted's Excellent Adventure | Radarr ID: 1777 | TMDB ID: 1648
DRY RUN: Bill & Ted's Bogus Journey | Radarr ID: 1778 | TMDB ID: 1649
DRY RUN: Big Hero 6 | Radarr ID: 71 | TMDB ID: 177572
DRY RUN: Big | Radarr ID: 71 | TMDB ID: 177572
DRY RUN: Batman Begins | Radarr ID: 1745 | TMDB ID: 272
DRY RUN: Assault on Precinct 13 | Radarr ID: 1212 | TMDB ID: 17814
DRY RUN: 21 Jump Street | Radarr ID: 1096 | TMDB ID: 64688
Total space reclaimed: 164.88GB
To use protected mode, just create a text file with one TMDB/TVDB ID per line and volume mount it as /app/protected
like so:
docker run --rm -it --env-file .env --network=host -v /home/user/protected:/app/protected ghcr.io/ask-me-about-loom/purgeomatic:latest python delete.movies.unwatched.py
Good luck! Please let me know if you have questions or problems and I'll do my best to help out!
So my problem is whatever I delete will be something somebody wants to watch tommorrow...
Also, how else will I fill my 400TB?
Cool idea to purge out old content that nobody watches... does it support white listing things?
~~It does not. My suggestion is to either set your threshold high enough that the content gets watched, or put it in a separate library of special content you don't want deleted.~~
Actually, yes! I got a really good suggestion on this and it now supports a whitelist of TMDB/TVDB IDs in a file called
protected
which you can volume mount when you call the container: