diff options
author | John Garland <johnnybg+deluge@gmail.com> | 2012-03-10 14:08:25 +1100 |
---|---|---|
committer | John Garland <johnnybg+deluge@gmail.com> | 2012-03-12 23:46:19 +1100 |
commit | 3528549430914fde5bb8bd93819733ffca316b69 (patch) | |
tree | d58fcc68926f79b6db6c69ea51e8a5dd77987de8 | |
parent | 39a04aae209d9256f89ec26db13f872b7f45428f (diff) | |
download | deluge-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.py | 8 | ||||
-rw-r--r-- | deluge/core/torrentmanager.py | 4 |
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: |