URI: 
       tfix dns issue on Windows - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 8c1adc2f50a79687b71c8e47142569196a91b758
   DIR parent c81f5395af88f929e423b0a54c960888128d7ab7
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Wed, 18 Sep 2019 19:11:40 +0200
       
       fix dns issue on Windows
       
       closes #5638
       
       Diffstat:
         M electrum/network.py                 |      11 ++++++-----
       
       1 file changed, 6 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/electrum/network.py b/electrum/network.py
       t@@ -572,26 +572,27 @@ class Network(Logger):
                    return True
                def resolve_with_dnspython(host):
                    addrs = []
       +            expected_dnspython_errors = (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer)
                    # try IPv6
                    try:
                        answers = dns.resolver.query(host, dns.rdatatype.AAAA)
                        addrs += [str(answer) for answer in answers]
       -            except dns.exception.DNSException as e:
       +            except expected_dnspython_errors as e:
                        pass
                    except BaseException as e:
       -                _logger.info(f'dnspython failed to resolve dns (AAAA) with error: {e}')
       +                _logger.info(f'dnspython failed to resolve dns (AAAA) for {repr(host)} with error: {repr(e)}')
                    # try IPv4
                    try:
                        answers = dns.resolver.query(host, dns.rdatatype.A)
                        addrs += [str(answer) for answer in answers]
       -            except dns.exception.DNSException as e:
       +            except expected_dnspython_errors as e:
                        # dns failed for some reason, e.g. dns.resolver.NXDOMAIN this is normal.
                        # Simply report back failure; except if we already have some results.
                        if not addrs:
                            raise socket.gaierror(11001, 'getaddrinfo failed') from e
                    except BaseException as e:
       -                # Possibly internal error in dnspython :( see #4483
       -                _logger.info(f'dnspython failed to resolve dns (A) with error: {e}')
       +                # Possibly internal error in dnspython :( see #4483 and #5638
       +                _logger.info(f'dnspython failed to resolve dns (A) for {repr(host)} with error: {repr(e)}')
                    if addrs:
                        return addrs
                    # Fall back to original socket.getaddrinfo to resolve dns.