make loops in DNSResolver less nested

This commit is contained in:
ahxxm 2016-09-06 10:26:27 +08:00
parent 8bb90bc02f
commit 477caf3c80

View file

@ -276,15 +276,18 @@ class DNSResolver(object):
content = f.readlines() content = f.readlines()
for line in content: for line in content:
line = line.strip() line = line.strip()
if line: if not line and line.startswith(b'nameserver'):
if line.startswith(b'nameserver'): continue
parts = line.split()
if len(parts) >= 2: parts = line.split()
server = parts[1] if len(parts) < 2:
if common.is_ip(server) == socket.AF_INET: continue
if type(server) != str:
server = server.decode('utf8') server = parts[1]
self._servers.append(server) if common.is_ip(server) == socket.AF_INET:
if type(server) != str:
server = server.decode('utf8')
self._servers.append(server)
except IOError: except IOError:
pass pass
if not self._servers: if not self._servers:
@ -299,13 +302,17 @@ class DNSResolver(object):
for line in f.readlines(): for line in f.readlines():
line = line.strip() line = line.strip()
parts = line.split() parts = line.split()
if len(parts) >= 2: if len(parts) < 2:
ip = parts[0] continue
if common.is_ip(ip):
for i in range(1, len(parts)): ip = parts[0]
hostname = parts[i] if not common.is_ip(ip):
if hostname: continue
self._hosts[hostname] = ip
for i in range(1, len(parts)):
hostname = parts[i]
if hostname:
self._hosts[hostname] = ip
except IOError: except IOError:
self._hosts['localhost'] = '127.0.0.1' self._hosts['localhost'] = '127.0.0.1'