diff --git a/src/core.py b/src/core.py index f7aaa4244..28907c8ca 100644 --- a/src/core.py +++ b/src/core.py @@ -855,28 +855,17 @@ class Manager: for pref in PREF_FUNCTIONS: if PREF_FUNCTIONS[pref] is not None: - if (PREF_FUNCTIONS[pref] == PREF_FUNCTIONS["listen_on"]): - if self.get_pref("random_port") == False: - PREF_FUNCTIONS[pref](self.get_pref(pref)) - else: - if deluge_core.listening_port() != 0: - for i in xrange(int(self.get_pref("listen_on")[0]),\ - int(self.get_pref("listen_on")[1])): - if deluge_core.listening_port() != i: - pass - else: - import random - ports = [random.randrange(49152, 65535), random.randrange(49152, 65535)] - ports.sort() - deluge_core.set_listen_on(ports) - else: - import random - ports = [random.randrange(49152, 65535), random.randrange(49152, 65535)] - ports.sort() - deluge_core.set_listen_on(ports) + if pref == "listen_on" and self.get_pref("random_port"): + import random + + randrange = lambda: random.randrange(49152, 65535) + + ports = [randrange(), randrange()] + ports.sort() + deluge_core.set_listen_on(ports) else: PREF_FUNCTIONS[pref](self.get_pref(pref)) - + # We need to reapply priorities to files after preferences were # changed for unique_ID in self.unique_IDs: