From 89ac70a4cdc9507e6db3921497680aea95b6a7c2 Mon Sep 17 00:00:00 2001 From: Sebastian Heinlein Date: Mon, 26 Feb 2007 20:13:42 +0100 Subject: * separate the checking of duplicates of binary and source repositories when changing the server of the distro - fix LP #86219 --- aptsources/distro.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'aptsources') diff --git a/aptsources/distro.py b/aptsources/distro.py index f53783dc..ac1b53e7 100644 --- a/aptsources/distro.py +++ b/aptsources/distro.py @@ -253,13 +253,7 @@ class Distribution: def change_server(self, uri): ''' Change the server of all distro specific sources to a given host ''' - sources = [] - seen = [] - self.default_server = uri - sources.extend(self.main_sources) - sources.extend(self.child_sources) - sources.extend(self.source_code_sources) - for source in sources: + def change_server_of_source(source, uri, seen): # Avoid creating duplicate entries source.uri = uri for comp in source.comps: @@ -269,6 +263,16 @@ class Distribution: seen.append([source.uri, source.dist, comp]) if len(source.comps) < 1: self.sourceslist.remove(source) + seen_binary = [] + seen_source = [] + self.default_server = uri + sources = [] + sources.extend(self.main_sources) + sources.extend(self.child_sources) + for source in sources: + change_server_of_source(source, uri, seen_binary) + for source in self.source_code_sources: + change_server_of_source(source, uri, seen_source) def is_codename(self, name): ''' Compare a given name with the release codename. ''' @@ -276,13 +280,13 @@ class Distribution: return True else: return False - + def get_server_list(self): ''' Return a list of used and suggested servers ''' # Store all available servers: # Name, URI, active mirrors = [] - + mirrors.append([_("Main server"), self.main_server, len(self.used_servers) == 1 and self.used_servers[0] == self.main_server]) -- cgit v1.2.3