r366 - in branches/rewrite: . src

Otavio Salvador partial-mirror-devel@lists.alioth.debian.org
Tue, 23 Nov 2004 16:12:10 -0700


Author: otavio
Date: Tue Nov 23 16:12:09 2004
New Revision: 366

Modified:
   branches/rewrite/   (props changed)
   branches/rewrite/src/Pool.py
Log:
 r373@nurf:  otavio | 2004-11-23T01:32:32.366057Z
 Start to get packages. Yeah!.


Modified: branches/rewrite/src/Pool.py
==============================================================================
--- branches/rewrite/src/Pool.py	(original)
+++ branches/rewrite/src/Pool.py	Tue Nov 23 16:12:09 2004
@@ -20,6 +20,7 @@
 
 from FileSystem import *
 from PackageList import *
+from Download import *
 import Config
 import apt_pkg
 
@@ -35,11 +36,10 @@
         self._backend = backend
         self._gotFiles = []
         self._plist = []
-        self._dir = FileSystem(backend["mirror_dir"],
-                               os.path.join(backend["name"], 'pool'))
+        self._dir = FileSystem(backend["mirror_dir"], backend["name"])
         self._server = "%s/" % (self._backend["server"])
-        #self._local = "%s/pool/" % (self._backend["mirror_dir"])
-        self._local = self._dir._dir
+        self._local = self._dir._dir + '/'
+        print self._local
         
     def upgrade (self):
         """
@@ -60,23 +60,9 @@
 
         self._upgrade ()
 
-
     def _upgrade (self):
-        """
-        Get from remote (or local) repository new version of packages
-        that were previously downloaded.
-        """
-        for p in self._plist:
-            self._dir.create(os.path.dirname(p['Filename']))
-            self._get(p)
-            self._gotFiles.append(p['Filename'])
-
-    def _get (self, p):
-        """
-        Get the a PackageList
-        TODO: Remove the print command.
-        """
-        print p['Filename']
+        # Get all needed files. This need to be implemented on
+        # subclass.
         pass
 
 
@@ -87,13 +73,14 @@
     def __init__(self, backend):
         Pool.__init__(self, backend)
 
-    def _get (self, p):
-        """
-        Download the Package p in 
-        """
-        f = p['Filename']
-        Download (self._server + f,
-                  self.local + f)
+    def _upgrade (self):
+        for p in self._plist:
+            self._dir.create(self._local + os.path.dirname(p['Filename']))
+            Download().get(self._server + p['Filename'], self._local + p['Filename'])
+            self._gotFiles.append(p['Filename'])
+
+        for d in Download().fetchers:
+            d.join()
 
 class LocalPool (Pool):
     """
@@ -103,13 +90,8 @@
         Pool.__init__(self, backend)
         self._server = self._server.split ('file://')[1]
         
-    def _get (self, p):
-        """
-        Link the Package p in the pool
-        """
-
-        f = p['Filename']
-        os.link (self._server + f,
-                 self._local + f)
-
-            
+    def _upgrade (self):
+        for p in self._plist:
+            self._dir.create(os.path.dirname(p['Filename']))
+            os.link (self._server + f, self._local + f)
+            self._gotFiles.append(p['Filename'])