如何控制 torrent 文件逐项下载

如何控制 torrent 文件逐项下载

看看这个图片: 在此处输入图片描述

通常,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)    

我组装了一个桌面小部件来帮我做这件事这里

相关内容