From: Petr Spacek Date: Fri, 27 Mar 2015 14:51:24 +0000 (+0100) Subject: Add response to NoAnswer exception. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3a26c39c97c10db22f627c5761d9fd618ee8ef8c;p=thirdparty%2Fdnspython.git Add response to NoAnswer exception. Only question section is returned from str(NoAnswer). Whole response variable is intended for application debug logs and is not returned from str(). --- diff --git a/dns/resolver.py b/dns/resolver.py index bd4b0ec3..cd3d1c20 100644 --- a/dns/resolver.py +++ b/dns/resolver.py @@ -76,9 +76,12 @@ Timeout = dns.exception.Timeout class NoAnswer(dns.exception.DNSException): """The DNS response does not contain an answer to the question.""" - fmt = '%s: {question}' % __doc__[:-1] - supp_kwargs = set(['question']) + fmt = '%s: {query}' % __doc__[:-1] + supp_kwargs = set(['response']) + def _fmt_kwargs(self, **kwargs): + return super(NoAnswer, self)._fmt_kwargs( + query=kwargs['response'].question) class NoNameservers(dns.exception.DNSException): """No non-broken nameservers are available to answer the query.""" @@ -171,9 +174,9 @@ class Answer(object): if raise_on_no_answer: raise NoAnswer(question=response.question) if raise_on_no_answer: - raise NoAnswer(question=response.question) + raise NoAnswer(response=response) if rrset is None and raise_on_no_answer: - raise NoAnswer(question=request.question) + raise NoAnswer(response=response) self.canonical_name = qname self.rrset = rrset if rrset is None: