From a7c2e596d949e874a7ecba1e3f7cb5833a841ddc Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Wed, 24 Jun 2009 02:54:39 +0000 Subject: [PATCH] Use a more efficient sort to put the torrent state list in queue order --- deluge/core/torrentmanager.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py index deddae0da..a4a9931b8 100644 --- a/deluge/core/torrentmanager.py +++ b/deluge/core/torrentmanager.py @@ -37,10 +37,10 @@ """TorrentManager handles Torrent objects""" import cPickle -import os.path import os import time import shutil +import operator from twisted.internet import reactor from twisted.internet.task import LoopingCall @@ -507,16 +507,9 @@ class TorrentManager(component.Component): # Reorder the state.torrents list to add torrents in the correct queue # order. - ordered_state = [] - for torrent_state in state.torrents: - for t in ordered_state: - if torrent_state.queue < t.queue: - ordered_state.insert(ordered_state.index(t), torrent_state) - break - if torrent_state not in ordered_state: - ordered_state.append(torrent_state) + state.torrents.sort(key=operator.attrgetter("queue")) - for torrent_state in ordered_state: + for torrent_state in state.torrents: try: self.add(state=torrent_state, save_state=False) except AttributeError, e: