0

您好,我有一个错误,我尝试管理失败

有问题的代码是这个函数

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() 看起来很有希望,但我要么没有正确使用它,要么它不是正确的路径。

谢谢您的帮助

4

1 回答 1

1

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

仔细查看后,它看起来add_magnet_uri()在 libtorrent中已被弃用。相反,您应该简单地调用add_torrent()并传入url带有磁铁 URL 的参数。您可能想尝试一下。

于 2012-11-13T22:30:12.553 回答