From 5825bc0d551ecf72364f8d21afbc1b20e2e00eb1 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sun, 16 Nov 2008 23:47:50 +0000 Subject: Fix bundle download logic. Better fix needed. git-svn-id: file:///home/or/svnrepo/updater/trunk@17299 55e972cd-5a19-0410-ae62-a4d7a52db4cd --- lib/thandy/formats.py | 2 +- lib/thandy/repository.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/thandy/formats.py b/lib/thandy/formats.py index 4afbd00..ccf3517 100644 --- a/lib/thandy/formats.py +++ b/lib/thandy/formats.py @@ -273,7 +273,7 @@ def getFileDigest(f, digestObj=None): """ f_to_close = None if isinstance(f, basestring): - t_to_close = f = open(f, 'rb') + f_to_close = f = open(f, 'rb') useTempDigestObj = (digestObj == None) if useTempDigestObj: diff --git a/lib/thandy/repository.py b/lib/thandy/repository.py index 696bbec..3e1f441 100644 --- a/lib/thandy/repository.py +++ b/lib/thandy/repository.py @@ -390,7 +390,9 @@ class LocalRepository: continue rp = binfo.getRelativePath() - hashDict[rp] = h_expected = binfo.getHash() + #hashDict[rp] = #XXXX this hash needs to be calculated ovver + # # the json data. + h_expected = binfo.getHash() bfile = self.getBundleFile(rp) try: bfile.load() @@ -401,7 +403,8 @@ class LocalRepository: h_b = thandy.formats.getDigest(bfile.get()) if h_b != h_expected: - logging.info("Bundle hash not as expected; must fetch.", rp) + logging.info("Bundle hash for %s not as expected; must fetch.", + rp) need.add(rp) continue @@ -422,7 +425,8 @@ class LocalRepository: rp = pkginfo['path'] pfile = self.getPackageFile(rp) h_expected = thandy.formats.parseHash(pkginfo['hash']) - hashDict[rp] = h_expected + #hashDict[rp] = #XXXX this hash needs to be calculated ovver + # # the json data. try: pfile.load() except OSError: @@ -477,7 +481,7 @@ class LocalRepository: fn = self.getFilename(rp) try: h_got = thandy.formats.getFileDigest(fn) - except OSError: + except (OSError, IOError): logging.info("Installable file %s not found on disk; " "must load", rp) need.add(rp) -- cgit v1.2.3