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!
This is great, thanks! I’ll have to try out the dry run mode as I’m currently between deleting content and buying another hard drive.
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.does it support white listing things?
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: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
This is very cool. I wouldn’t use it for my case use but I could totally see how this would be great for some people.