Я пытаюсь сделать скрипт для загрузки файлов в python. Пока все хорошо с настройками по умолчанию для сессии. но когда я пытаюсь установить «активные загрузки», он просто не загружается. Я уверен, что я делаю это неправильно, но я не знаю где. По умолчанию для активных загрузок в libtorrent - 3. Как мне изменить настройки сеанса? Я действительно новичок в Python.
Вот код:
import libtorrent as lt
sett = lt.session_settings()
sett = {'allow_multiple_connections_per_ip': True,
'active_downloads': -1,
'active_checking': -1,
'active_seeds': 7,
'active_limit': -1}
ses = lt.session()
ses.listen_on(6881, 6891)
ses.set_settings(sett)
downloads = []
Вот где я должен положить торрент. Документация говорит, что я должен установить для auto_managed значение false, чтобы изменить активные загрузки.
source = 'downloads/torrents/'
params = {
"save_path": "/download/",
"ti": lt.torrent_info(list(source.keys())[0]),
'auto_managed': False,
}
downloads.append(ses.add_torrent(params))
, и здесь код выполняется.
import time
from IPython.display import display
import ipywidgets as widgets
state_str = [
"queued",
"checking",
"downloading metadata",
"downloading",
"finished",
"seeding",
"allocating",
"checking fastresume",
]
layout = widgets.Layout(width="auto")
style = {"description_width": "initial"}
download_bars = [
widgets.FloatSlider(
step=0.01, disabled=True, layout=layout, style=style
)
for _ in downloads
]
display(*download_bars)
while downloads:
next_shift = 0
for index, download in enumerate(downloads[:]):
bar = download_bars[index + next_shift]
if not download.is_seed():
s = download.status()
bar.description = " ".join(
[
download.name(),
str(s.download_rate / 1000),
"kB/s down,",
str(s.upload_rate / 1000),
"kB/s Up,",
str(s.num_peers),
"Peers",
state_str[s.state],
]
)
bar.value = s.progress * 100
else:
next_shift -= 1
ses.remove_torrent(download)
downloads.remove(download)
bar.close()
download_bars.remove(bar)
print(download.name(), "done")
time.sleep(5)
До того как я работал отличнопопытался изменить настройки в первой части и изменить auto_managed. Так что я полагаю, может быть, это не так. Мне понравилась вся документация, но я не знаю, как ее применить. кто-нибудь может мне помочь?
Извините за мой плохой английский