Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable cross-seed deletion/retention #82

Closed
wants to merge 3 commits into from

Conversation

isaksamsten
Copy link

@isaksamsten isaksamsten commented Aug 13, 2020

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™)
  • Fix Python 2.7

Cheers

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. 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`
@jerrymakesjelly
Copy link
Owner

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 jerrymakesjelly force-pushed the master branch 2 times, most recently from 8d80058 to 2827697 Compare April 15, 2022 09:30
@jerrymakesjelly jerrymakesjelly mentioned this pull request Apr 22, 2022
44 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants