r290 - in branches/rewrite: doc src

Marco Presi partial-mirror-devel@lists.alioth.debian.org
Wed, 10 Nov 2004 17:22:35 -0700


Author: zufus
Date: Wed Nov 10 17:22:34 2004
New Revision: 290

Modified:
   branches/rewrite/doc/IDEAS
   branches/rewrite/src/Dists.py
Log:
Dists.py: Moved all for loops used to create self._files into Dists
	  class, beacuse it seems that this part is common both to
	  RemoteDists and LocalDists.

	  Modified _get method to do hard link from local files.

	  TODO: check md5sum before download remote dists file!



Modified: branches/rewrite/doc/IDEAS
==============================================================================
--- branches/rewrite/doc/IDEAS	(original)
+++ branches/rewrite/doc/IDEAS	Wed Nov 10 17:22:34 2004
@@ -106,6 +106,6 @@
 
 Properties:
 	got_files
-Membros:
+Methods:
 	update -> Update the Dists files (Packages, Release and Sources)
-	_get -> Get each file
\ No newline at end of file
+	_get -> Get each file

Modified: branches/rewrite/src/Dists.py
==============================================================================
--- branches/rewrite/src/Dists.py	(original)
+++ branches/rewrite/src/Dists.py	Wed Nov 10 17:22:34 2004
@@ -31,12 +31,32 @@
         self._dir = Dir(backend["mirror_dir"], backend["name"])
         self.got_files = []
 
-    def _find_updates (self):
-        """ Determine which files need updates.
-            Update method depends on local or remote dists"""
+        for c in backend["components"]:
+            for d in backend["distributions"]:
+                for a in backend["architectures"]:
+
+                    server = "%s/dists/%s/%s/binary-%s/%s" \
+                             % (backend["server"], d, c, a, f)
+                    filename = "dists/%s/%s/binary-%s/%s" \
+                               % (backend["mirror_dir"] + backend["name"], c, a, f)
+                    self._files.append((server, filename))
+
+                    server = "%s/dists/%s/%s/Release" \
+                             % (backend["server"], d, c,)
+                    filename = "%s/%s/%s/Release" \
+                               % (backend["mirror_dir"] + backend["name"], d, c,)
+                    self._files.append((server, filename))
+                    
+                    if backend["get_sources"]:
+                        server = "%s/dists/%s/%s/source/Sources.gz" \
+                                 % (backend["server"], d, c,)
+                        filename = "%s/%s/%s/source/Sources.gz" \
+                                   % (backend["mirror_dir"] + backend["name"], d, c,)
+                        self._files.append((server, filename))
+
+    def create (self):
         for f in self._files:
-            if self._md5sum [f] == -1:
-                self._need_update.append(f)
+            self._get(f)
 
     def update (self):
         for f in self._files:
@@ -48,30 +68,6 @@
     """
     def __init__(self, backend):
         Dists.__init__(self, backend)
-        files = ["Packages.gz"]
-        for c in backend["components"]:
-            for d in backend["distributions"]:
-                for a in backend["architectures"]:
-                    for f in files:
-                        server = "%s/dists/%s/%s/binary-%s/%s" \
-                                 % (backend["server"], d, c, a, f)
-                        filename = "dists/%s/%s/binary-%s/%s" \
-                                   % (backend["mirror_dir"] + backend["name"], c, a, f)
-                        self._files.append((server, filename))
-
-                server = "%s/dists/%s/%s/Release" \
-                         % (backend["server"], d, c,)
-                filename = "%s/%s/%s/Release" \
-                           % (backend["mirror_dir"] + backend["name"], d, c,)
-                self._files.append((server, filename))
-
-                if backend["get_sources"]:
-                    server = "%s/dists/%s/%s/source/Sources.gz" \
-                             % (backend["server"], d, c,)
-                    filename = "%s/%s/%s/source/Sources.gz" \
-                               % (backend["mirror_dir"] + backend["name"], d, c,)
-                    self._files.append((server, filename))
-
 
     def _get(self, file):
         server, filename = file
@@ -85,11 +81,10 @@
     """
     def __init__(self, backend):
         Dists.__init__(self, backend)
-        for c in backend["components"]:
-            for d in backend["distributions"]:
-                for a in backend["architectures"]:
-                    for f in ["Packages.gz", "Sources.gz", "Release"]:
-                        self._files.append("%s/debian/%s/%s/binary-%s/%s" \
-                                           % (backend["mirror_dir"] + backend["name"], d, c, a, f))
+
     def _get(self, file):
-        print "LocalDists::_get(self, file): Not implemented yet! %s" % file
+        print "LocalDists::_get(self, file): Warning!! Implementing yet! %s" % file
+        orig, filename = file
+        self._dir.create(os.path.dirname(filename))
+        os.link (orig.lstrip('file://'), filename)
+        self.got_files.append(filename)