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!

  • treeofnik@discuss.online
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    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.

  • Tandybaum@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    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.

  • Saik0@lemmy.saik0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    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?

    • ASK_ME_ABOUT_LOOM@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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
      
    • ASK_ME_ABOUT_LOOM@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      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.