From f4c76b1ebf29cef0189e6688e638f6e53e9473c5 Mon Sep 17 00:00:00 2001 From: Sergey Shramchenko Date: Mon, 7 Mar 2016 16:18:27 +0200 Subject: [PATCH] Fix resume-data code to be able to use multi-file torrents. --- Libtorrent.py | 6 ++++-- Player.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Libtorrent.py b/Libtorrent.py index 1ee5c3d..020db8b 100644 --- a/Libtorrent.py +++ b/Libtorrent.py @@ -491,6 +491,7 @@ class Libtorrent: self.session.stop_dht() def resume_data(self): + wasPaused=self.session.is_paused() self.session.pause() self.save_resume_data=None @@ -504,7 +505,7 @@ class Libtorrent: return log('[save_resume_data]: waiting for alert...') - self.torrentHandle.save_resume_data() + self.torrentHandle.save_resume_data(self.lt.save_resume_flags_t.flush_disk_cache) received=False while not received: self.session.wait_for_alert(1000) @@ -528,7 +529,8 @@ class Libtorrent: log('[save_resume_data]: done.') finally: - self.session.resume() + if not wasPaused: + self.session.resume() def debug(self): #try: diff --git a/Player.py b/Player.py index bc6ed87..e2f8293 100644 --- a/Player.py +++ b/Player.py @@ -289,7 +289,7 @@ class TorrentPlayer(xbmc.Player): #self.torrent.torrentHandle.flush_cache() #self.torrent.session.remove_torrent(self.torrent.torrentHandle) self.torrent.resume_data() - self.torrent.session.remove_torrent(self.torrent.torrentHandle) + #self.torrent.session.remove_torrent(self.torrent.torrentHandle) progressBar.update(0) progressBar.close() return True