diff options
| author | Sebastian Heinlein <sebi@sebi-desktop> | 2007-03-12 00:17:29 +0100 |
|---|---|---|
| committer | Sebastian Heinlein <sebi@sebi-desktop> | 2007-03-12 00:17:29 +0100 |
| commit | 3df4fd5eeb785bc335f8b996d13b39ea69d90770 (patch) | |
| tree | 18ec7a93cb4e7b2fa431e77240e988cd8f3a23d2 /aptsources | |
| parent | e061e734914ef5f87f4754ac38100cb6614a9f42 (diff) | |
| parent | 89ac70a4cdc9507e6db3921497680aea95b6a7c2 (diff) | |
| download | python-apt-3df4fd5eeb785bc335f8b996d13b39ea69d90770.tar.gz | |
* merge
Diffstat (limited to 'aptsources')
| -rw-r--r-- | aptsources/distro.py | 23 | ||||
| -rw-r--r-- | aptsources/sourceslist.py | 9 |
2 files changed, 22 insertions, 10 deletions
diff --git a/aptsources/distro.py b/aptsources/distro.py index 5b4c6522..ac1b53e7 100644 --- a/aptsources/distro.py +++ b/aptsources/distro.py @@ -244,7 +244,6 @@ class Distribution: if comp in self.cdrom_comps: sources = [] sources.extend(self.main_sources) - for source in sources: if comp in source.comps: source.comps.remove(comp) @@ -254,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: @@ -270,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. ''' @@ -277,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]) diff --git a/aptsources/sourceslist.py b/aptsources/sourceslist.py index 800f462f..208e6c7d 100644 --- a/aptsources/sourceslist.py +++ b/aptsources/sourceslist.py @@ -342,6 +342,15 @@ class SourcesList: def save(self): """ save the current sources """ files = {} + # write an empty default config file if there aren't any sources + if len(self.list) == 0: + path = "%s%s" % (apt_pkg.Config.FindDir("Dir::Etc"), + apt_pkg.Config.Find("Dir::Etc::sourcelist")) + header = ("## See sources.list(5) for more information, especialy\n" + "# Remember that you can only use http, ftp or file URIs\n" + "# CDROMs are managed through the apt-cdrom tool.\n") + open(path,"w").write(header) + return for source in self.list: if not files.has_key(source.file): files[source.file]=open(source.file,"w") |
