r309 - branches/rewrite/src
Marco Presi
partial-mirror-devel@lists.alioth.debian.org
Sat, 13 Nov 2004 09:25:51 -0700
Author: zufus
Date: Sat Nov 13 09:25:49 2004
New Revision: 309
Modified:
branches/rewrite/src/Dists.py
branches/rewrite/src/Pool.py
Log:
Pool.py: completed update methods also in Local and Remote Pools
subclasses
Dists.py: removed the call to updateBackend
Modified: branches/rewrite/src/Dists.py
==============================================================================
--- branches/rewrite/src/Dists.py (original)
+++ branches/rewrite/src/Dists.py Sat Nov 13 09:25:49 2004
@@ -74,8 +74,6 @@
self.__fill_files()
for f in self.__files:
self._get(f)
- self.__updateBackendPkgList()
-
def get_index(self):
"""
Modified: branches/rewrite/src/Pool.py
==============================================================================
--- branches/rewrite/src/Pool.py (original)
+++ branches/rewrite/src/Pool.py Sat Nov 13 09:25:49 2004
@@ -33,16 +33,19 @@
self._backendPkgList = backend.pkglist
self._poolPkgList = PackageList()
self._needUpdate = PackageList()
+ self._server = "%s/pool/" % (self._backend["server"])
+ self._local = "%/pool/" % (self._backend["mirror_dor"])
+
def find_updates (self, backendList):
"""
Look into the Backend PackageList and look for packages that
have newer version on remote repository
"""
- for pkg in backend.pkglist.items():
+ for (pkgName, pkg) in backend.pkglist.items():
try:
p = self._poolPkgList.get(pkg)
- if p['md5sum'] != pkg[1]['md5sum']:
+ if p['md5sum'] != pkg['md5sum']:
self._needUpdate.add(pkg)
except PackageDoesNotExist:
self._needUpdate.add(pkg)
@@ -53,22 +56,36 @@
Get from remote repository new version of packages that were
previously downloaded
"""
- self.download (self, self._needUpdate)
+ self.download (self._needUpdate)
def download (self, plist):
"""
Get the a PackageList
"""
-
+ self._get (plist)
class RemotePool (Pool):
"""
This class provides methods to fill pool dir downloading remote files
"""
- pass
+ def __init__(self, backend):
+ Pool.__init__(self, backend)
+
+ def self._get (self, plist):
+ for (pkg_name, pkg) in plist.items():
+ Download (self._server + pkg['Section'] + '/' + pkg['Filename'],
+ self._local + pkg['Section'] + '/' + pkg['Filename'])
class LocalPool (Pool):
"""
This class provides methods to fill pool dir referring to local files
"""
- pass
+ def __init__(self, backend):
+ Pool.__init__(self, backend)
+ self._server = self._server.lstrip ('file://')
+
+ def self._get (plist):
+ for (pkg_name, pkg) in plist.items():
+ os.link (server + pkg['Section'] + '/' + pkg['Filename'],
+ self._local + pkg['Section'] + '/' + pkg['Filename'])
+