transmission / transmission

Official Transmission BitTorrent client repository
https://transmissionbt.com
Other
12.2k stars 1.21k forks source link

Add option to rename files in transmission-remote CLI #104

Open dllud opened 7 years ago

dllud commented 7 years ago

It seems that transmission-daemon supports renaming files inside torrents since version 2.80 (check issue #1220 in the old tracker). However there is no option to do so in transmission-remote CLI. The only available option is --move, that can only change the top-level folder for all files.

Transmission Remote GUI is able to rename single files, thus the required functionality seems to be provided by transmission-daemon RPC.

imax9000 commented 6 years ago

Ping? Right now I've got a problem that this feature would greatly help to solve. I have a few torrents with files I'd like to rename in the same manner, and shell loop around transmission-remote is much nicer than the same loop around curl and something that would compose JSON.

SmellyHoneybee1 commented 6 years ago

Is this why I can't rename files in my transmission done script?

https://forum.transmissionbt.com/viewtopic.php?f=2&t=19003&sid=c93f0e8631e5e88842baa2fd44bfa60b

It seems like transmission development is slowly dying, anyone planning on joining the dev team?

lajp commented 3 years ago

I've worked on a implementation of this on https://github.com/lajp/transmission-remote-rename. My implementation works but it is quite hacky/ugly. The problem seems to be that a command (such as "--move" or "--find") cannot have more than one string argument (Please do correct me if I'm wrong). Therefore in my implementation the path has to be specified with another command("--path"). Additionally I couldn't figure out a way to get the path over to the rename command so I had to create a new global string optargs2 to hold the value of the path.

Regardless of all these problems I find my solution to be a working one and good enough for my needs and I just wanted to inform you about its existence.

hypevhs commented 2 years ago

@lajp That is cool. AFAICT your method isn't hacky at all, since the torrent-selection arg -t does almost the same thing here. I would however advocate for a path length longer than 128.

The ideal for me is to select files by ID like we do torrents. While that would be cool, I doubt the datastore, nor the remote server, nor the remote client support this.

lajp commented 2 years ago

Ok, good to know. Perhaps I'll revisit this in the near future then and see if I can get a PR together.

hypevhs commented 2 years ago

I just pushed my fork. However, this is a dead end for me because (1) Remote seems to have been rewritten in C++ since then, and (2) I mistakenly thought I could use this to move files outside of subfolders.

lajp commented 2 years ago

Yes, all of it has been rewritten in C++ which I personally dislike. About the usage: the feature itself is ofc not implemented in the remote, just the support for using it. I advise you to look into the daemon code.

I'll return to this matter in a couple of hours and see if I can get something compatible with the current C++ version done.

RobFog commented 2 years ago

Is this ready to be closed with the merge of #2905?

lajp commented 2 years ago

Yes, I think it should be.