[GH-ISSUE #221] Implement "download only new files" option #166

Open
opened 2026-10-13 19:50:26 +00:00 by bsakaguchi · 3 comments
Owner

Originally created by @fk0 on GitHub (Jun 13, 2017).
Original GitHub issue: https://github.com/werwolfby/monitorrent/issues/221

Originally assigned to: @werwolfby on GitHub.

In order to save free space, only new torrents should be downloaded. That means that at some point of time user can remove old (already watched) episodes and newer torrents should download only updated files.
I've found this project that may help https://github.com/cdown/torrentdiff.

Originally created by @fk0 on GitHub (Jun 13, 2017). Original GitHub issue: https://github.com/werwolfby/monitorrent/issues/221 Originally assigned to: @werwolfby on GitHub. In order to save free space, only new torrents should be downloaded. That means that at some point of time user can remove old (already watched) episodes and newer torrents should download only updated files. I've found this project that may help https://github.com/cdown/torrentdiff.
Author
Owner

@werwolfby commented on GitHub (Jun 13, 2017):

I don't understand how do you want to track it.

<!-- gh-comment-id:308248603 --> @werwolfby commented on GitHub (Jun 13, 2017): I don't understand how do you want to track it.
Author
Owner

@werwolfby commented on GitHub (Jun 13, 2017):

Now, I've got it!
But this will require storing all torrents that was downloaded by monitorrent, or at least list of files in already downloaded torrents.

Anyway it make sense, will think about implementation.

<!-- gh-comment-id:308249865 --> @werwolfby commented on GitHub (Jun 13, 2017): Now, I've got it! But this will require storing all torrents that was downloaded by monitorrent, or at least list of files in already downloaded torrents. Anyway it make sense, will think about implementation.
Author
Owner

@fk0 commented on GitHub (Jun 14, 2017):

I've been thinking about the logic, so here's how I see it:

  • Get new torrent (NT)
  • Download old torrent from torrent client (OT)
  • disabledByUser(OT) = get files from torrent client which are not enabled for OT.
  • newFiles(NT) = allFiles(NT) - disabledByUser(OT) - alreadyDownloaded(OT)

For Transmission client from spec https://trac.transmissionbt.com/browser/trunk/extras/rpc-spec.txt there's RPC api call

  • "files-wanted" | array indices of file(s) to download
  • "files-unwanted" | array indices of file(s) to not download

So,
disabledByUser(OT) = "files-unwanted"
alreadyDownloaded(OT) = "files-wanted"

And even downloading OT from torrent client is not necessary.

Hope this is helpful.

Thank you!

<!-- gh-comment-id:308325079 --> @fk0 commented on GitHub (Jun 14, 2017): I've been thinking about the logic, so here's how I see it: - Get new torrent (**NT**) - Download old torrent from torrent client (**OT**) - **disabledByUser(OT)** = get files from torrent client which are not enabled for OT. - **newFiles**(NT) = **allFiles**(NT) - **disabledByUser**(OT) - **alreadyDownloaded**(OT) For Transmission client from spec https://trac.transmissionbt.com/browser/trunk/extras/rpc-spec.txt there's RPC api call - "files-wanted" | array indices of file(s) to download - "files-unwanted" | array indices of file(s) to not download So, **disabledByUser(OT)** = "files-unwanted" **alreadyDownloaded**(OT) = "files-wanted" And even downloading OT from torrent client is not necessary. Hope this is helpful. Thank you!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
werwolfby/monitorrent#166
No description provided.