Skip to content

Commit

Permalink
Fix for codeclimate
Browse files Browse the repository at this point in the history
  • Loading branch information
nnseva committed Oct 16, 2020
1 parent bc150d7 commit 5a748e1
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 29 deletions.
57 changes: 29 additions & 28 deletions noipy/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,53 +32,54 @@ def read_input(message):
return input(message)


def get_ip():
"""Return machine's origin IP address(es).
"""
lst = []
try:
r = requests.get(IP4ONLY_URL)
if r.status_code == 200:
lst.append(r.text.split(',')[1])
except requests.exceptions.ConnectionError:
pass
def _try_request_get_and_store(url, callback):
try:
r = requests.get(IP6ONLY_URL)
r = requests.get(url)
if r.status_code == 200:
lst.append(r.text.split(',')[1])
callback(r)
except requests.exceptions.ConnectionError:
pass


def get_ip():
"""Return machine's origin IP address(es).
"""

lst = []
for url in (IP4ONLY_URL, IP6ONLY_URL):
_try_request_get_and_store(
url,
lambda r: lst.append(r.text.split(',')[1])
)
if not lst:
try:
r = requests.get(HTTPBIN_URL)
if r.status_code == 200:
lst.append(r.json()['origin'])
except requests.exceptions.ConnectionError:
pass
_try_request_get_and_store(
HTTPBIN_URL,
lambda r: lst.append(r.json()['origin'])
)
if not lst:
return None
return ','.join(lst)


def get_dns_ip(dnsname):
"""Return machine's current IP address(es) in DNS.
"""
def _safe_resolve(dnsname, dnstype):
resolver = dns.resolver.Resolver(StringIO("nameserver %s" % COMMON_DNS))

try:
resolve = resolver.resolve
except AttributeError:
resolve = resolver.query

lst = []
try:
lst += [a.address for a in resolve(dnsname, 'A')]
except dns.exception.DNSException:
pass
try:
lst += [a.address for a in resolve(dnsname, 'AAAA')]
return list(resolve(dnsname, dnstype))
except dns.exception.DNSException:
pass
return []


def get_dns_ip(dnsname):
"""Return machine's current IP address(es) in DNS.
"""

lst = [a.address for a in _safe_resolve(dnsname, 'A') + _safe_resolve(dnsname, 'AAAA')]
if not lst:
try:
lst.append(socket.gethostbyname(dnsname))
Expand Down
1 change: 0 additions & 1 deletion test/test_noipy.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ def test_get_dns_ip(self):
% ip)



class PluginsTest(unittest.TestCase):

def setUp(self):
Expand Down

0 comments on commit 5a748e1

Please sign in to comment.