summaryrefslogtreecommitdiff
path: root/lib/thandy/ServerCLI.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/thandy/ServerCLI.py')
-rw-r--r--lib/thandy/ServerCLI.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/thandy/ServerCLI.py b/lib/thandy/ServerCLI.py
index d9c0f04..9212846 100644
--- a/lib/thandy/ServerCLI.py
+++ b/lib/thandy/ServerCLI.py
@@ -24,7 +24,8 @@ def snarf(fname):
def snarfObj(fname):
f = open(fname, 'r')
try:
- return json.load(f)
+ length = os.fstat(f.fileno()).st_size
+ return json.load(f), length
finally:
f.close()
@@ -127,12 +128,12 @@ def timestamp(args):
tsFname = os.path.join(repo, "meta/timestamp.txt")
try:
- mObj = snarfObj(os.path.join(repo, "meta/mirrors.txt"))
+ mObj, mLen = snarfObj(os.path.join(repo, "meta/mirrors.txt"))
except OSError:
print "No mirror list!"
sys.exit(1)
try:
- kObj = snarfObj(os.path.join(repo, "meta/keys.txt"))
+ kObj, kLen = snarfObj(os.path.join(repo, "meta/keys.txt"))
except OSError:
print "No key list!"
sys.exit(1)
@@ -142,7 +143,7 @@ def timestamp(args):
for fn in fns:
fn = os.path.join(dirpath, fn)
try:
- bObj = snarfObj(fn)
+ bObj, bLen = snarfObj(fn)
except (ValueError, OSError, IOError), e:
print "(Couldn't read bundle-like %s: %s)"%(fn, e)
continue
@@ -154,10 +155,11 @@ def timestamp(args):
if r != "bundle":
print "%s was not a good bundle"%fn
continue
- bundles.append(bObj['signed'])
+ bundles.append((bObj['signed'], bLen))
timestamp = thandy.formats.makeTimestampObj(
- mObj['signed'], kObj['signed'], bundles)
+ mObj['signed'], mLen, kObj['signed'], kLen,
+ bundles)
signable = thandy.formats.makeSignable(timestamp)
keydb = thandy.formats.Keylist()