summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Garland <johnnybg+deluge@gmail.com>2012-03-10 14:08:25 +1100
committerJohn Garland <johnnybg+deluge@gmail.com>2012-03-12 23:46:19 +1100
commit3528549430914fde5bb8bd93819733ffca316b69 (patch)
treed58fcc68926f79b6db6c69ea51e8a5dd77987de8
parent39a04aae209d9256f89ec26db13f872b7f45428f (diff)
downloaddeluge-3528549430914fde5bb8bd93819733ffca316b69.tar.gz
deluge-3528549430914fde5bb8bd93819733ffca316b69.tar.bz2
deluge-3528549430914fde5bb8bd93819733ffca316b69.zip
Add get_queue_position & use it for sorting ids
-rw-r--r--deluge/core/core.py8
-rw-r--r--deluge/core/torrentmanager.py4
2 files changed, 6 insertions, 6 deletions
diff --git a/deluge/core/core.py b/deluge/core/core.py
index 1a8225230..d4a6d0128 100644
--- a/deluge/core/core.py
+++ b/deluge/core/core.py
@@ -718,9 +718,7 @@ class Core(component.Component):
def queue_up(self, torrent_ids):
log.debug("Attempting to queue %s to up", torrent_ids)
#torrent_ids must be sorted before moving.
- torrent_ids = list(torrent_ids)
- torrent_ids.sort(key = lambda id: self.torrentmanager.torrents[id].get_queue_position())
- for torrent_id in torrent_ids:
+ for torrent_id in sorted(torrent_ids, key=self.torrentmanager.get_queue_position):
try:
# If the queue method returns True, then we should emit a signal
if self.torrentmanager.queue_up(torrent_id):
@@ -732,9 +730,7 @@ class Core(component.Component):
def queue_down(self, torrent_ids):
log.debug("Attempting to queue %s to down", torrent_ids)
#torrent_ids must be sorted before moving.
- torrent_ids = list(torrent_ids)
- torrent_ids.sort(key = lambda id: -self.torrentmanager.torrents[id].get_queue_position())
- for torrent_id in torrent_ids:
+ for torrent_id in sorted(torrent_ids, key=self.torrentmanager.get_queue_position, reverse=True):
try:
# If the queue method returns True, then we should emit a signal
if self.torrentmanager.queue_down(torrent_id):
diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py
index a88f97015..c2d18cc1d 100644
--- a/deluge/core/torrentmanager.py
+++ b/deluge/core/torrentmanager.py
@@ -806,6 +806,10 @@ class TorrentManager(component.Component):
except OSError, (errno, strerror):
log.debug("Cannot Remove Folder: %s (ErrNo %s)", strerror, errno)
+ def get_queue_position(self, torrent_id):
+ """Get queue position of torrent"""
+ return self.torrents[torrent_id].get_queue_position()
+
def queue_top(self, torrent_id):
"""Queue torrent to top"""
if self.torrents[torrent_id].get_queue_position() == 0: