web/storage.py: tolerate unknown-future displays, I'm not sure why LeaseCrawler.test_unpredictable_future didn't catch this

This commit is contained in:
Brian Warner 2009-03-07 16:02:43 -07:00
parent 192c161be7
commit df045650e0

View File

@ -134,9 +134,13 @@ class StorageStatus(rend.Page):
% abbreviate_time(lc.age_limit)] % abbreviate_time(lc.age_limit)]
def format_recovered(self, sr, a): def format_recovered(self, sr, a):
def maybe(d):
if d is None:
return "?"
return "%d" % d
space = abbreviate_space(sr["%s-diskbytes" % a]) space = abbreviate_space(sr["%s-diskbytes" % a])
return "%d buckets, %d shares, %s" % (sr["%s-numbuckets" % a], return "%s buckets, %s shares, %s" % (maybe(sr["%s-numbuckets" % a]),
sr["%s-numshares" % a], maybe(sr["%s-numshares" % a]),
space) space)
def render_lease_current_cycle_progress(self, ctx, data): def render_lease_current_cycle_progress(self, ctx, data):
@ -162,14 +166,18 @@ class StorageStatus(rend.Page):
def add(*pieces): def add(*pieces):
p[T.li[pieces]] p[T.li[pieces]]
def maybe(d):
if d is None:
return "?"
return "%d" % d
add("So far, this cycle has examined %d shares in %d buckets" add("So far, this cycle has examined %d shares in %d buckets"
% (so_far["shares-examined"], so_far["buckets-examined"])) % (so_far["shares-examined"], so_far["buckets-examined"]))
add("and has recovered: ", self.format_recovered(sr, "actual")) add("and has recovered: ", self.format_recovered(sr, "actual"))
if so_far["expiration-enabled"]: if so_far["expiration-enabled"]:
add("The remainder of this cycle is expected to recover: ", add("The remainder of this cycle is expected to recover: ",
self.format_recovered(esr, "actual")) self.format_recovered(esr, "actual"))
add("The whole cycle is expected to examine %d shares in %d buckets" add("The whole cycle is expected to examine %s shares in %s buckets"
% (ec["shares-examined"], ec["buckets-examined"])) % (maybe(ec["shares-examined"]), maybe(ec["buckets-examined"])))
add("and to recover: ", self.format_recovered(ecr, "actual")) add("and to recover: ", self.format_recovered(ecr, "actual"))
else: else: