如何使用libtorrent将set_sequential_download添加到此代码中?

问题描述

如何将set_sequential_download(True)添加到以下python代码中?

我尝试了几种添加句柄的方法;但它不起作用。 torrent_flag和torrent句柄也都提到了sequence_download。 我浏览了Libtorrent网站上的文档,目前尚不清楚,而且我在python方面的经验非常有限。

import libtorrent as lt
import time
import datetime

ses = lt.session()
ses.listen_on(6881,6891)
params = {
    'save_path': '/content/drive/Shared drives/Dakar files/Torrent','storage_mode': lt.storage_mode_t(2),'paused': False,'auto_managed': True,'duplicate_is_error': True)

link = "??" # PASTE TORRENT/MAGNET LINK HERE
print(link)


h = ses.add_torrent({'ti': info,'save_path': './'})
handle = lt.add_magnet_uri(ses,link,params)
ses.start_dht()

begin = time.time()
print(datetime.datetime.Now())

print ('Downloading Metadata...')
while (not handle.has_Metadata()):
    time.sleep(1)
print ('Got Metadata,Starting Torrent Download...')

print("Starting",handle.name())

while (handle.status().state != lt.torrent_status.seeding):
    s = handle.status()
            state_str = ['queued','checking','downloading Metadata',\
            'downloading','finished','seeding','allocating']
    print ('%.2f%% complete (down: %.1f kb/s up: %.1f kB/s peers: %d) %s ' % \
            (s.progress * 100,s.download_rate / 1000,s.upload_rate / 1000,\
            s.num_peers,state_str[s.state]))
    time.sleep(5)

end = time.time()
print(handle.name(),"COMPLETE")

print("Elapsed Time: ",int((end-begin)//60),"min :",int((end-begin)%60),"sec")

print(datetime.datetime.Now())

解决方法

要启用和禁用torrent的某些功能,请使用set_flags()unset_flags()docs)。

您可以设置和清除的标志已记录在here中。

对于不清楚的文档部分,请提交github票证。文档本身中有链接可以执行此操作。