]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
webish: tolerate not having a checker, since some unit tests don't make one
authorBrian Warner <warner@allmydata.com>
Wed, 24 Oct 2007 00:35:31 +0000 (17:35 -0700)
committerBrian Warner <warner@allmydata.com>
Wed, 24 Oct 2007 00:35:31 +0000 (17:35 -0700)
src/allmydata/webish.py

index 88bbc9ab86d626111a3ab92f30e0ddaeea0ea744..ecde7f67828ee034396e24dcdeb300b2a95eb948 100644 (file)
@@ -227,22 +227,29 @@ class Directory(rend.Page):
 
         ctx.fillSlots("data", childdata)
 
-        checker = IClient(ctx).getServiceNamed("checker")
-        checker_results = checker.checker_results_for(target.get_verifier())
-        recent_results = reversed(checker_results[-5:])
-        if IFileNode.providedBy(target):
-            results = ("[" +
-                       ", ".join(["%d/%d" % (found, needed)
-                                  for (when, (needed, total, found, sharemap))
-                                  in recent_results]) +
-                       "]")
-        elif IDirectoryNode.providedBy(target):
-            results = ("[" +
-                       "".join([{True:"+",False:"-"}[res]
-                                for (when, res) in recent_results]) +
-                       "]")
+        try:
+            checker = IClient(ctx).getServiceNamed("checker")
+        except KeyError:
+            checker = None
+        if checker:
+            checker_results = checker.checker_results_for(target.get_verifier())
+            recent_results = reversed(checker_results[-5:])
+            if IFileNode.providedBy(target):
+                results = ("[" +
+                           ", ".join(["%d/%d" % (found, needed)
+                                      for (when,
+                                           (needed, total, found, sharemap))
+                                      in recent_results]) +
+                           "]")
+            elif IDirectoryNode.providedBy(target):
+                results = ("[" +
+                           "".join([{True:"+",False:"-"}[res]
+                                    for (when, res) in recent_results]) +
+                           "]")
+            else:
+                results = "%d results" % len(checker_results)
         else:
-            results = "%d results" % len(checker_results)
+            results = "--"
         ctx.fillSlots("checker_results", results)
 
         return ctx.tag