From 81dad6ad99a14d4906090138b23ca4fcb76bb688 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 14 Mar 2019 10:40:12 +0100 Subject: [PATCH] Remove get_exception_message dnspython>=1.16 *has* error messages rendering this workaround unnecessary. Fixes issue #415. --- wpull/network/dns.py | 6 ++---- wpull/util.py | 13 ------------- wpull/util_test.py | 40 +--------------------------------------- 3 files changed, 3 insertions(+), 56 deletions(-) diff --git a/wpull/network/dns.py b/wpull/network/dns.py index ca8d48d8..6d20c85a 100644 --- a/wpull/network/dns.py +++ b/wpull/network/dns.py @@ -254,16 +254,14 @@ def _query_dns(self, host: str, family: int=socket.AF_INET) \ try: answer = yield from event_loop.run_in_executor(None, query) except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer) as error: - # dnspython doesn't raise an instance with a message, so use the - # class name instead. raise DNSNotFound( 'DNS resolution failed: {error}' - .format(error=wpull.util.get_exception_message(error)) + .format(error=str(error)) ) from error except dns.exception.DNSException as error: raise NetworkError( 'DNS resolution error: {error}' - .format(error=wpull.util.get_exception_message(error)) + .format(error=str(error)) ) from error else: return answer diff --git a/wpull/util.py b/wpull/util.py index a2c799d0..b9d23419 100644 --- a/wpull/util.py +++ b/wpull/util.py @@ -202,19 +202,6 @@ def close_on_error(close_func): raise -def get_exception_message(instance): - '''Try to get the exception message or the class name.''' - args = getattr(instance, 'args', None) - - if args: - return str(instance) - - try: - return type(instance).__name__ - except AttributeError: - return str(instance) - - class PickleStream(object): '''Pickle stream helper.''' def __init__(self, filename=None, file=None, mode='rb', diff --git a/wpull/util_test.py b/wpull/util_test.py index 8e0a15e7..d8ea2143 100644 --- a/wpull/util_test.py +++ b/wpull/util_test.py @@ -7,7 +7,7 @@ from wpull.util import (datetime_str, python_version, filter_pem, parse_iso8601_str, is_ascii, close_on_error, - get_exception_message, GzipPickleStream) + GzipPickleStream) DEFAULT_TIMEOUT = 30 @@ -71,44 +71,6 @@ def oops(self): self.assertRaises(ValueError, my_object.oops) self.assertTrue(my_object.closed) - def test_get_exception_message(self): - self.assertEqual('oops', get_exception_message(ValueError('oops'))) - - try: - raise ValueError('oops') - except ValueError as error: - self.assertEqual('oops', get_exception_message(error)) - - self.assertEqual('ValueError', get_exception_message(ValueError())) - - try: - raise ValueError - except ValueError as error: - self.assertEqual('ValueError', get_exception_message(error)) - - try: - raise ValueError() - except ValueError as error: - self.assertEqual('ValueError', get_exception_message(error)) - - self.assertEqual( - 'NoNameservers', get_exception_message(NoNameservers()) - ) - - try: - raise NoNameservers - except NoNameservers as error: - self.assertEqual( - 'NoNameservers', get_exception_message(error) - ) - - try: - raise NoNameservers() - except NoNameservers as error: - self.assertEqual( - 'NoNameservers', get_exception_message(error) - ) - def test_pickle_stream_filename(self): with tempfile.TemporaryDirectory() as temp_dir: filename = os.path.join(temp_dir, 'blah.pickle')