libtorrent API给出错误我不知道如何解释

时间:2012-11-13 21:45:06

标签: python hyperlink bittorrent libtorrent magnet-uri

您好我有一个错误,我尝试过无法管理

有问题的代码就是这个功能

def get_peer_info_from_magnet( magnet, ports, opt ):
    ses = lt.session()
    ses.listen_on( ports[0], ports[1] )

    ses.set_download_rate_limit( opt.download_rate  * 1024 )
    ses.set_upload_rate_limit( opt.upload_rate * 1024 )
    h = lt.add_magnet_uri( ses, magnet, {
          'save_path': opt.save_path,
          'storage_mode': lt.storage_mode_t.storage_mode_sparse,
          'seed_mode': True,
          #'tracker_url': opt.tracker_url,
          'paused': False
         } )

产生错误

Traceback (most recent call last):
  File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap
    self.run()
  File "magnet_info.py", line 45, in run
    self._fetchData( magnet )
  File "magnet_info.py", line 54, in _fetchData
    pi = get_peer_info_from_magnet( magnet, ports, self.options )
  File "magnet_info.py", line 140, in get_peer_info_from_magnet
    'paused': False
KeyError: 'auto_managed'

我在libtorrent文档中查找了这个错误,发现了一个方法set_upload_mode()看起来很有希望,但我要么没有正确使用它,要么它不是正确的路径。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

libtorrent似乎希望您传入auto_managed参数。根据错误,这可能是由于您传入的'paused': False参数;你可能需要通过'auto_managed': True这个,虽然我没有自己使用libtorrent,所以我不确定。您可能还想尝试删除'paused': True,看看是否有效。

仔细观察后,在libtorrent中looks like add_magnet_uri() is deprecated。相反,您只需调用add_torrent()并使用磁铁URL传递url参数。你可能想尝试一下。