remove torrent from client after download

gborri asked for this feature about 5 years ago — 12 comments

gborri commented about 5 years ago

I think is useful that sickrage will remove torrent instance from client after postprocess has finished to managed the downloaded file.

| WebSpider commented about 5 years ago

This is planned to be added with more tight client integration.

I'm thinking of adding a few options:

1) remove torrent immediately after postproc 2) remove torrent after seedratio is me 3) in two cases above, only pause torrent, do not remove it

| gborri commented about 5 years ago

Hello WebSpider, the seeding time or seeding ratio is guaranteed by the client in fact postprocess can handle the file after that time. The request is to remove the item from torrent cliente not to pause it. The purpose is to not remove it manually.

| meffect commented about 5 years ago

I handle this now using a plugin for deluge called 'AutoRemovePlus' which removes the torrent immediately after it finishes downloading (per my configuration). But I can see this being useful. Sickrage knows more about what is going on with a download and therefore it makes sense for it to be in control of its state. However the number of clients out there, and API support, might make people feel pressured to use a client they don't generally prefer. Though it would be nice to get a foundation framework started to support client api calls and tracking

| apoapostolov commented almost 5 years ago

Hello @WebSpider, Please also add option: 4) remove torrent after seedratio only if provider contains [list of strings], This will differentiate between free trackers and ratio trackers, allowing to remove immediately from free, and keep sharing until seedratio for the ratio ones.

palmfighter commented almost 5 years ago

I think important for the ratio site's is to have an option to remove after X period (days / hours). Perhaps we can connect this feature to the tracker. So f.e. for TPB we remove immediate, for BTN we remove after 4 days.

| Quiptix commented almost 5 years ago

I think the way CouchPotato works is the same desired functionality here wanted. Every torrent has a specific ratio and/or time. If not defaults are used, but still set in the torrent. This can be checked by API. At least for Transmission

| Nil0 commented almost 5 years ago

For full automation also download file needs to be deleted. I often also find myself checking and rechecking both download and root dir before manually deleting torrent. I suggest to be able to use the processing method "move" WHILE seeding by updating the location and name afterwards via the torrent clients api. Seems possible with at least Transmission. This way a basic functionality works independently of whether you choose to continue to seed or not in your client.

Nickduino commented over 4 years ago

Yup, like the idea of sickrage removing the torrent from the client once downloaded.

mariovalentim commented over 4 years ago

A work around while this feature isn't baked into the actual software: If you use transmission as the torrent client then I've made this shell script which removes the torrent from the client on post processing: #!/bin/bash


file=$(echo $2 | cut -d'/' -f 6) #get the file name of the torrent which is in /mnt/usbstorage/dir1/dir2/fileordir so it's the 6th position -f 6 torrentId="$(transmission-remote localhost:9091 -l | grep -F $file | awk '{print $1}')" #get the id of the torrent if [[ ! -z $torrentId ]]; then transmission-remote localhost:9091 -t $torrentId -r #remove the torrent from transmission list fi

rcambrj commented over 4 years ago

A little tidier, and hopefully more readable: fingers crossed for a codeblock! ``` #!/bin/bash

filename=$(basename "$2") foldername=${filename%.*} torrentId="$(transmission-remote localhost:9091 -l | grep -F $foldername | awk '{print $1}')" if [[ ! -z $torrentId ]]; # -r to remove torrent, -R to remove torrent and delete files then transmission-remote localhost:9091 -t $torrentId -r fi ```

rcambrj commented over 4 years ago

WOW, that did not go the way I expected it to go :'(

Join the discussion!

with GitHub to comment