From 6f48da4ac71b5944d0464dd940ced3baf0d4311b Mon Sep 17 00:00:00 2001 Message-Id: <6f48da4ac71b5944d0464dd940ced3baf0d4311b.1715085246.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 27 May 2018 18:14:42 +0100 Subject: [PATCH] peerdb/tripe-newpeers.in (BulkResolver): Add exception for resolution failure. Organization: Straylight/Edgeware From: Mark Wooding 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 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/peerdb/tripe-newpeers.in b/peerdb/tripe-newpeers.in index 00361d40..0ba9cb61 100644 --- a/peerdb/tripe-newpeers.in +++ b/peerdb/tripe-newpeers.in @@ -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): -- [mdw]