chiark / gitweb /
peerdb/tripe-newpeers.in (BulkResolver): Add exception for resolution failure.
[tripe] / 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):