Module: deluge
Branch: 1.3-stable
Commit: 60fac28217ed709be2883670157d13fcdf485122

Author: Andrew Resch <[email protected]>
Date:   Sun Oct 10 12:34:13 2010 -0700

Keep a torrent paused after a forced recheck if it was paused to start.

---

 deluge/core/torrent.py        |    8 ++++++++
 deluge/core/torrentmanager.py |    9 ++++++++-
 2 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/deluge/core/torrent.py b/deluge/core/torrent.py
index 2423635..50a05b2 100644
--- a/deluge/core/torrent.py
+++ b/deluge/core/torrent.py
@@ -179,6 +179,11 @@ class Torrent(object):
         else:
             self.time_added = time.time()
 
+        # Keep track if we're forcing a recheck of the torrent so that we can
+        # repause it after its done if necessary
+        self.forcing_recheck = False
+        self.forcing_recheck_paused = False
+        
         log.debug("Torrent object created.")
 
     ## Options methods ##
@@ -859,12 +864,15 @@ class Torrent(object):
 
     def force_recheck(self):
         """Forces a recheck of the torrents pieces"""
+        paused = self.handle.is_paused()
         try:
             self.handle.force_recheck()
             self.handle.resume()
         except Exception, e:
             log.debug("Unable to force recheck: %s", e)
             return False
+        self.forcing_recheck = True
+        self.forcing_recheck_paused = paused
         return True
 
     def rename_files(self, filenames):
diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py
index 5e137c6..4ce881c 100644
--- a/deluge/core/torrentmanager.py
+++ b/deluge/core/torrentmanager.py
@@ -849,7 +849,14 @@ class TorrentManager(component.Component):
             torrent = self.torrents[str(alert.handle.info_hash())]
         except:
             return
-
+        
+        # Check to see if we're forcing a recheck and set it back to paused
+        # if necessary
+        if torrent.forcing_recheck:
+            torrent.forcing_recheck = False
+            if torrent.forcing_recheck_paused:
+                torrent.handle.pause()
+                
         # Set the torrent state
         torrent.update_state()
 

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to