From 37ade0059f6ccf05442293fc8d2af4881bca234d Mon Sep 17 00:00:00 2001 From: Jay Lee Date: Tue, 23 Sep 2014 21:08:58 -0400 Subject: [PATCH] handle missing dns.resolver library quietly --- gam.py | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/gam.py b/gam.py index 4824914f..806a2a82 100644 --- a/gam.py +++ b/gam.py @@ -5022,28 +5022,34 @@ def doSiteVerifyAttempt(): print u'Method: %s' % verify_data[u'method'] print u'Token: %s' % verify_data[u'token'] if verify_data[u'method'] == u'DNS_CNAME': - import dns.resolver - resolver = dns.resolver.Resolver() - resolver.nameservers = nameservers=[u'8.8.8.8', u'8.8.4.4'] - cname_token = verify_data[u'token'] - cname_list = cname_token.split(u' ') - cname_subdomain = cname_list[0] try: - answers = resolver.query(u'%s.%s' % (cname_subdomain, a_domain), u'A') - for answer in answers: - print u'DNS Record: %s' % answer - except dns.resolver.NXDOMAIN: - print u'ERROR: No such domain found in DNS!' + import dns.resolver + resolver = dns.resolver.Resolver() + resolver.nameservers = nameservers=[u'8.8.8.8', u'8.8.4.4'] + cname_token = verify_data[u'token'] + cname_list = cname_token.split(u' ') + cname_subdomain = cname_list[0] + try: + answers = resolver.query(u'%s.%s' % (cname_subdomain, a_domain), u'A') + for answer in answers: + print u'DNS Record: %s' % answer + except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer): + print u'ERROR: No such domain found in DNS!' + except ImportError: + pass elif verify_data[u'method'] == u'DNS_TXT': - import dns.resolver - resolver = dns.resolver.Resolver() - resolver.nameservers = nameservers=[u'8.8.8.8', u'8.8.4.4'] try: - answers = resolver.query(a_domain, u'TXT') - for answer in answers: - print u'DNS Record: %s' % str(answer).replace(u'"', u'') - except dns.resolver.NXDOMAIN: - print u'ERROR: no such domain found in DNS!' + import dns.resolver + resolver = dns.resolver.Resolver() + resolver.nameservers = nameservers=[u'8.8.8.8', u'8.8.4.4'] + try: + answers = resolver.query(a_domain, u'TXT') + for answer in answers: + print u'DNS Record: %s' % str(answer).replace(u'"', u'') + except dns.resolver.NXDOMAIN: + print u'ERROR: no such domain found in DNS!' + except ImportError: + pass return print u'SUCCESS!' print u'Verified: %s' % verify_result[u'site'][u'identifier']