autoremove-torrents icon indicating copy to clipboard operation
autoremove-torrents copied to clipboard

Enable cross-seed deletion/retention

Open isaksamsten opened this issue 4 years ago • 1 comments

Hi!

I've attached a pull request that in part enables cross-seed handling (its not enabled for uTorrent).

Cross-seeds are detected by torrents that share the same root path

Cross-seed handling is enabled if the config delete_data is set to True. If no data is deleted the cross-seed is handled by another strategy. The reason for this behaviour is that if delete_data is set to True torrents seeding the same data as a torrent marked for deletion will fail.

If enabled, deletion is by defailt not propagated to the cross-seeded torrents, instead the torrent marked for removal is flagged as soft-remove, meaning that the torrent will be deleted but not the data.

By changing the flag remove_cross_seeds in the strategy configuration to all_trackers or a list of tracker host names deletion will propagate to either all or the selected trackers. Torrents included in the proagation will also be deleted, even if not included by the filter.

Support has been added to:

  • deluge
  • qBittorrent APIv2
  • Transmission

A new field has been added to Torrent#base_path

I don't know if this is in the scope of the project but I needed these changes my self.

TODO

  • [ ] uTorrent
  • [ ] qBittorrent APIv1
  • [ ] Test Transmission (don't use it)
  • [ ] Testing (Its working for me™)
  • [x] Fix Python 2.7

Cheers

isaksamsten avatar Aug 13 '20 11:08 isaksamsten

Good idea. Thanks for your contribution, and I will review it as soon as possible.

By the way you can ignore the CI failure because the task test_client cannot read the authorization configuration when it runs for a PR.

jerrymakesjelly avatar Aug 18 '20 04:08 jerrymakesjelly