libtorrent API выдает ошибку, я не знаю, как интерпретировать

Здравствуйте, у меня есть ошибка, которую я попытался с невозможностью управлять

код, который имеет проблемы, эта функция

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 ответ

Решение

Похоже, что libtorrent ожидает, что вы передадите auto_managed параметр. На основании ошибки это может быть связано с 'paused': False параметр, который вы передаете; вам может понадобиться пройти 'auto_managed': True наряду с этим, хотя я сам не использовал libtorrent, поэтому я не уверен. Вы также можете попробовать удалить 'paused': True и посмотрите, работает ли это.

После более пристального взгляда, это выглядит как add_magnet_uri() устарела в libtorrent. Вместо этого вы просто должны позвонить add_torrent() и пройти в url параметр с URL-адресом магнита. Возможно, вы захотите попробовать.

Другие вопросы по тегам