chiark / gitweb /
peerdb/tripe-newpeers.in (BulkResolver): Add exception for resolution failure.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 27 May 2018 17:14:42 +0000 (18:14 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 14 Jun 2018 11:50:38 +0000 (12:50 +0100)
There's a space for describing the error properly, but we can't do that
at the moment because mLib's background resolver isn't loved.

peerdb/tripe-newpeers.in

index 00361d402444f8a4116877a41aaca8d686457372..0ba9cb61401ff298a37681d0fe5262c2ae07adaa 100644 (file)
@@ -51,6 +51,13 @@ class CDBFake (object):
 ###--------------------------------------------------------------------------
 ### A bulk DNS resolver.
 
+class ResolverFailure (Exception):
+  def __init__(me, host, msg):
+    me.host = host
+    me.msg = msg
+  def __str__(me):
+    return "failed to resolve `%s': %s" % (me.host, me.msg)
+
 class BulkResolver (object):
   """
   Resolve a number of DNS names in parallel.
@@ -92,7 +99,7 @@ class BulkResolver (object):
     """
     addr = me._namemap[host]
     if addr is None:
-      raise KeyError(host)
+      raise ResolverFailure(host, '(unknown failure)')
     return addr
 
   def _resolved(me, host, addr):