summaryrefslogtreecommitdiffstats
path: root/pym/portage/getbinpkg.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-05-31 12:47:05 +0000
committerZac Medico <zmedico@gentoo.org>2007-05-31 12:47:05 +0000
commit00152eff9e23a6a6f0efb226c3f234bcd9c20865 (patch)
treeb7887bae37d7a8cb8cba4c079eceb9fa5f84943a /pym/portage/getbinpkg.py
parenteea590a6ef30d1bc2b9be766af6fa6cb5eb4413e (diff)
downloadportage-00152eff9e23a6a6f0efb226c3f234bcd9c20865.tar.gz
portage-00152eff9e23a6a6f0efb226c3f234bcd9c20865.tar.bz2
portage-00152eff9e23a6a6f0efb226c3f234bcd9c20865.zip
Add PORTAGE_BINHOST support for fetching a remote Packages index. If the index is not found then it falls back to the old directory listing method.
svn path=/main/trunk/; revision=6694
Diffstat (limited to 'pym/portage/getbinpkg.py')
-rw-r--r--pym/portage/getbinpkg.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/pym/portage/getbinpkg.py b/pym/portage/getbinpkg.py
index 76016e3c0..f44f690a6 100644
--- a/pym/portage/getbinpkg.py
+++ b/pym/portage/getbinpkg.py
@@ -596,9 +596,16 @@ class PackageIndex(object):
def __init__(self):
self.header = {}
self.packages = {}
+ self.modified = True
def read(self, pkgfile):
+ self.readHeader(pkgfile)
+ self.readBody(pkgfile)
+
+ def readHeader(self, pkgfile):
self.header.update(readpkgindex(pkgfile))
+
+ def readBody(self, pkgfile):
while True:
d = readpkgindex(pkgfile)
if not d:
@@ -612,9 +619,10 @@ class PackageIndex(object):
def write(self, pkgfile):
cpv_all = self.packages.keys()
cpv_all.sort()
- import time
- self.header["TIMESTAMP"] = str(long(time.time()))
- self.header["PACKAGES"] = str(len(cpv_all))
+ if self.modified:
+ import time
+ self.header["TIMESTAMP"] = str(long(time.time()))
+ self.header["PACKAGES"] = str(len(cpv_all))
keys = self.header.keys()
keys.sort()
writepkgindex(pkgfile, [(k, self.header[k]) for k in keys])