Opened 12 years ago
Closed 11 years ago
#4231 closed Enhancement (duplicate)
Allow for multiple watch-dirs and also then multiple download-dirs
Reported by: | sprawl | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | None Set |
Component: | Daemon | Version: | 2.22 |
Severity: | Normal | Keywords: | |
Cc: |
Description
I am using transmission together with SickBeard? and CouchPotato?, both those tools support post processing, meaning when the torrent is finished downloading (it appears in the download dir) the application will pick it up and do some renaming and moving the file to the designated place.
However the different applications seem to step on each other's toes so sometime CouchPotato? finds the downloaded files from SickBeard? and renames them wrongly and put them in the wrong place.
This is obviously not a problem with Transmission but a nice feature would be if there can be more than one watch-dir and a corresponding download-dir.
The attached patch has a solution to this so when configuring a watch-dir like: /torrents/incoming if enabled it then also will find files in any other directory starting with the same name, like: /torrents/incoming-sickbeard /torrents/incoming-couchpotato
also then when there is a download dir like, /torrents/completed the patch will change the download-dir to match then incoming dir so they will be put in /torrents/completed-sickbeard /torrents/completed-couchpotato
this is enabled by putting: "watch-dir-suffix-enabled": true in settings.json
I would be happy if you would consider putting this patch into trunk.
Attachments (1)
Change History (6)
Changed 12 years ago by sprawl
comment:1 Changed 12 years ago by livings124
- Component changed from Transmission to Daemon
comment:2 Changed 12 years ago by mgbastard
sprawl, interesting idea, but your implementation would be subject to user confusion; it gets turned on, either forgotten about or misunderstood, and the user experiences unexplained behavior. I think it would look like a low-quality bug.
it's just toooo hacky!
but here's an idea:
I'd recommend that you refactor your patch such that each watch-dir and download-dir pair is created by a json setting, in an array.
"watch-dir-pairs": [ {"watch-dir": "/path/to/incoming-couchpotato", "download-dir": "/path/to/download-couchpotato"}, {"watch-dir": "/path/to/incoming-sickbeard", "download-dir": "/path/to/download-sickbeard"}, {"watch-dir": "/path/to/incoming-yatool", "download-dir": "/path/to/download-yatool"} ]
But still, enable/disable it with the setting:
"watch-dir-pairs-enabled": true
comment:3 Changed 12 years ago by sprawl
mgbastard, thanks for your feedback. I did some more research on how other tools are doing this after I submitted my patch and I found that sabnzbd is doing it in a bit similar (but cleaner) way than my proposal.
You can read at http://wiki.sabnzbd.org/configure-directories under the section Sub Folders that if there are sub-folders under the incoming directory which match the name of a Category jobs are taken from there and allocated to that category. This could be made in a similar way for transmission with the discussed feature group. Then we can have different settings per group like download-dir (and priority, ...).
I don't know the current state of thoughts / progress in the area of tags / groups and therefore maybe your suggestion would be better to go with, nothing says that we couldn't add a piece of information in the watch-dir setting to indicate with tags / group a torrent should belong to at a later stage.
How do you propose that I should continue?
comment:4 Changed 12 years ago by jordan
- Version changed from 2.22+ to 2.22
Changing version from 2.22+ to 2.22... the '+' is for post-2.22 regressions.
This seems like it would be good for libtransmission rather than the Daemon s.t. non-daemon clients could use the feature too... especially since transmission-gtk and transmission-daemon share the same settings.json format. But that opens the question of whether or not we would want to move watch.[ch] into libtransmission and add Mac / GIO #ifdefs for it... right now libtransmission doesn't have any GIO hooks at all. I'm not sure what the Right Thing would be there.
comment:5 Changed 11 years ago by livings124
- Resolution set to duplicate
- Status changed from new to closed
Path file