r307 - in branches/rewrite: . src
Otavio Salvador
partial-mirror-devel@lists.alioth.debian.org
Fri, 12 Nov 2004 11:53:42 -0700
Author: otavio
Date: Fri Nov 12 11:53:42 2004
New Revision: 307
Modified:
branches/rewrite/ (props changed)
branches/rewrite/src/Dists.py
Log:
r253@nurf: otavio | 2004-11-12T18:50:18.095147Z
- Remove got_files;
- Change files to private;
- Add get_index method.
Modified: branches/rewrite/src/Dists.py
==============================================================================
--- branches/rewrite/src/Dists.py (original)
+++ branches/rewrite/src/Dists.py Fri Nov 12 11:53:42 2004
@@ -25,46 +25,59 @@
This class provides methods to manage dists on partial-mirrors
"""
- got_files = []
-
def __init__ (self, backend):
self._backend = backend
- self.files = []
+ self.__files = []
self._dir = Dir(backend["mirror_dir"], backend["name"])
- for c in backend["components"]:
- for d in backend["distributions"]:
- for a in backend["architectures"]:
+ def __fill_files(self):
+ for c in self._backend["components"]:
+ for d in self._backend["distributions"]:
+ for a in self._backend["architectures"]:
server = "%s/dists/%s/%s/binary-%s/Packages.gz" \
- % (backend["server"], d, c, a)
+ % (self._backend["server"], d, c, a)
filename = "%s/dists/%s/%s/binary-%s/Packages.gz" \
- % (backend["mirror_dir"] + backend["name"], d, c, a)
- self.files.append((server, filename))
+ % (self._backend["mirror_dir"] + self._backend["name"], d, c, a)
+ self.__files.append((server, filename))
server = "%s/dists/%s/%s/Release" \
- % (backend["server"], d, c,)
+ % (self._backend["server"], d, c,)
filename = "%s/dists/%s/%s/Release" \
- % (backend["mirror_dir"] + backend["name"], d, c)
- self.files.append((server, filename))
+ % (self._backend["mirror_dir"] + self._backend["name"], d, c)
+ self.__files.append((server, filename))
- if backend["get_sources"]:
+ if self._backend["get_sources"]:
server = "%s/dists/%s/%s/source/Sources.gz" \
- % (backend["server"], d, c,)
+ % (self._backend["server"], d, c,)
filename = "%s/dists/%s/%s/source/Sources.gz" \
- % (backend["mirror_dir"] + backend["name"], d, c)
- self.files.append((server, filename))
+ % (self._backend["mirror_dir"] + self._backend["name"], d, c)
+ self.__files.append((server, filename))
def create (self):
""" Get all files """
- for f in self.files:
+ for f in self.__files:
self._get(f)
def update (self):
""" Get only files that need updates """
- for f in self.files:
+ self.__fill_files()
+ for f in self.__files:
self._get(f)
+ def get_index(self):
+ """
+ Get only index files (on Debian, this mean: Packages.gz
+ and Sources.gz)
+ """
+ # TODO: Put checking using Release file when available.
+ files = []
+ self.__fill_files()
+ for url, f in self.__files:
+ if os.path.basename(str(f)) != "Release":
+ files.append(str(f))
+ return files
+
class RemoteDists (Dists):
"""
This class provides methods to fill dists dir downloading remote files
@@ -76,7 +89,6 @@
server, filename = file
self._dir.create(os.path.dirname(filename))
Download(server, filename)
- Dists.got_files.append(filename)
class LocalDists (Dists):
"""
@@ -90,4 +102,3 @@
orig, filename = file
self._dir.create(os.path.dirname(filename))
os.link (orig.lstrip('file://'), filename)
- Dists.got_files.append(filename)