У меня проблема. Я не программист на C/C++, и документация libtorrent мне не очень понятна. Нет документов, которые можно найти, как документы python для libtorrent.
На данный момент я попытался найти примеры кода в stackoverflow, чтобы узнать, как использовать save_state и load_state для сеанса.
Может ли кто-нибудь привести пример или объяснить, как я могу сохранить состояние сеанса и загрузить его позже?
Цель — возобновить работу всех торрентов при перезапуске процесса.
ses = libtorrent.session()
ses.listen_on(6881, 6891)
if os.path.isfile('./tempfile'):
with open('./tempfile', 'wb+') as temp_file:
ses.load_state(
libtorrent.bdecode(temp_file.read())
)
params = {
'save_path': '/home/downloads/',
'storage_mode': libtorrent.storage_mode_t(2),
'paused': False,
'auto_managed': True,
'duplicate_is_error': True
}
link = "magnet:?xt=urn:btih:4MR6HU7SIHXAXQQFXFJTNLTYSREDR5EI&tr=http://tracker.vodo.net:6970/announce"
handle = libtorrent.add_magnet_uri(ses, link, params)
while not handle.has_metadata():
time.sleep(1)
with open('./tempfile', 'wb+') as temp_file:
temp_file.write(libtorrent.bencode(ses.save_state()))
update При использовании save_state_resume() для дескриптора торрента он также ничего не возвращает? Я обнаружил, что выполнение «pydoc libtorrent > libtorrentDoc.txt» дает мне полезный документ для просмотра и поиска. В этот момент я повторно добавляю магниты в сеансы и использую код выше.
Может у кого есть более действенный способ?