I made a thing! A python script to delete old, unwatched movie content. (update)
I made a thing! A python script to delete old, unwatched movie content. (update)

GitHub - ASK-ME-ABOUT-LOOM/purgeomatic

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.