看看这个图片:
通常,Transmission 会尝试同时下载一个 torrent 文件中定义的所有项目。例如,如果一个 torrent 文件中有 10 个项目,则 1 小时后,它们的进度范围可能在 15% - 50% 之间(取决于下载速度)。
是否可以强制 Transmission 逐个下载项目:按字母顺序或按大小等。我知道我可以手动选中/取消选中项目,如上图所示,但我要求一种自动执行此操作的方法。
答案1
libtransmission 有一个 python API,所以你可以编写任何你想要的脚本...但是,该功能尚未内置。
这是一个有效的例子
#!/usr/bin/env python3
import transmissionrpc
tc = transmissionrpc.Client('localhost', port=(9091))
torrents = tc.get_torrents()
for torrent in torrents:
if torrent.status == 'downloading':
low = []
torrent_files = torrent.files()
for item in torrent_files:
low.append(item)
high = []
for item in sorted(torrent_files, key=lambda x: torrent_files[x]['name']):
if torrent_files[item]['size'] - torrent_files[item]['completed'] > 0:
high.append(item)
break
try:
low.pop(low.index(high[0]))
except:
pass
tc.change(torrent.id, priority_high=high, priority_low=low)
我组装了一个桌面小部件来帮我做这件事这里。