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

Enhancement: Hide the files that aren't to be downloaded #19

Open
Taomach opened this issue Jan 5, 2012 · 2 comments
Open

Enhancement: Hide the files that aren't to be downloaded #19

Taomach opened this issue Jan 5, 2012 · 2 comments

Comments

@Taomach
Copy link

Taomach commented Jan 5, 2012

When I add a new torrent and uncheck some of the files that I do not need, rtorrent still partially downloads some of them. I know that this is the limitation of bittorrent protocol and it's ok for me, but I do not want to see these files files in a destination folder because they are trash, I don't need them, and sometimes they are confusing (e.g. if their names are not very informative). Moreover, even in this case rtorrent creates a full directory structure and all the files from the torrent for no clear reason.
This may be solved by moving the parts of unneeded files to some temporary folder (ktorrent does that), or by appending all of them to a single temporary file in the destination folder (like utorrent does). Both ways have have their own advantages.
I think, if you implement this feature, many users will be very grateful to you, me for sure.

@rakshasa
Copy link
Owner

rakshasa commented Jan 5, 2012

It is a planned feature, yet not going to be done anytime soon.

@pyroscope
Copy link
Contributor

An implementation of this that would add a transparent mapping of "info.files.path" entries to filesystem paths that should be actually used would not add much of an additional implementation burden (instead of say adding a "." in front of deselected files, just do a map lookup instead). This would open the possibility to reroute a torrent's content paths in addition to its root path (which is already possible).

Say, "f.path.target[.set]", storing the map in the session dir under a new key "file_targets". To ease implementation, the setter would error out if the file was already created and the item is not in stopped state; if stopped, it would mark all affected chunks as unseen, so whatever outside party changes a mapping after initial creation must trigger a rehash afterwards.

That could be slighty enhanced to NOT do that if both paths reside in the same filesystem and the target doesn't exist yet (just rename() then). All active mmap()s should survive this, since they're bound to the handle and thus the inode, which doesn't change.

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

No branches or pull requests

3 participants