summaryrefslogtreecommitdiff
path: root/lib/thandy/formats.py
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-10-14 20:04:10 +0000
committerNick Mathewson <nickm@torproject.org>2008-10-14 20:04:10 +0000
commitfddafd73158e34300c4459d1e10154672cda81d3 (patch)
tree1c5b9f75e7b5a056a813704d0798800ddcd845b6 /lib/thandy/formats.py
parent1370be1a701bb5e90eb219d21e0019e9bf4f975e (diff)
Usability fixes and cleanups
git-svn-id: file:///home/or/svnrepo/updater/trunk@17096 55e972cd-5a19-0410-ae62-a4d7a52db4cd
Diffstat (limited to 'lib/thandy/formats.py')
-rw-r--r--lib/thandy/formats.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/thandy/formats.py b/lib/thandy/formats.py
index e10f0aa..61c1001 100644
--- a/lib/thandy/formats.py
+++ b/lib/thandy/formats.py
@@ -628,11 +628,11 @@ def makePackageObj(config_fname, package_fname):
return result
-def makeBundleObj(config_fname, getPackageHash):
+def makeBundleObj(config_fname, getPackage):
packages = []
def ShortGloss(lang, val): packages[-1]['gloss'][lang] = val
def LongGloss(lang, val): packages[-1]['longgloss'][lang] = val
- def Package(name, version, path, order, optional=False):
+ def Package(name, order, version=None, path=None, optional=False):
packages.append({'name' : name,
'version' : version,
'path' : path,
@@ -661,7 +661,17 @@ def makeBundleObj(config_fname, getPackageHash):
for p in packages:
try:
- p['hash'] = formatHash(getPackageHash(p['path']))
+ pkginfo = getPackage(p['name'])
+ except KeyError:
+ raise thandy.FormatException("No such package as %s"%p['name'])
+
+ p['hash'] = formatHash(getDigest(pkginfo))
+ if p['path'] == None:
+ p['path'] = pkginfo['location']
+ if p['version'] == None:
+ p['version'] = pkginfo['version']
+ if p['
+
except KeyError:
raise thandy.FormatException("No such package as %s"%p['path'])