mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-16 02:02:58 -07:00
Add Host to IP lookup
This commit is contained in:
parent
ba8e4ff33c
commit
7c159e97de
4 changed files with 68 additions and 44 deletions
|
@ -632,6 +632,7 @@ def geoip_lookup(ip_address):
|
|||
def whois_lookup(ip_address):
|
||||
|
||||
nets = []
|
||||
err = None
|
||||
try:
|
||||
whois = ipwhois.IPWhois(ip_address).lookup_whois(retry_count=0)
|
||||
countries = ipwhois.utils.get_countries()
|
||||
|
@ -641,15 +642,28 @@ def whois_lookup(ip_address):
|
|||
if net['postal_code']:
|
||||
net['postal_code'] = net['postal_code'].replace('-', ' ')
|
||||
except ValueError as e:
|
||||
return 'Invalid IP address provided: %s.' % ip_address
|
||||
err = 'Invalid IP address provided: %s.' % ip_address
|
||||
except ipwhois.exceptions.IPDefinedError as e:
|
||||
return '%s' % e
|
||||
err = '%s' % e
|
||||
except ipwhois.exceptions.ASNRegistryError as e:
|
||||
return '%s' % e
|
||||
err = '%s' % e
|
||||
except Exception as e:
|
||||
return 'Error: %s' % e
|
||||
err = 'Error: %s' % e
|
||||
|
||||
return nets
|
||||
host = ''
|
||||
try:
|
||||
host = ipwhois.Net(ip_address).get_host(retry_count=0)[0]
|
||||
except Exception as e:
|
||||
host = 'Not available'
|
||||
|
||||
whois_info = {"host": host,
|
||||
"nets": nets
|
||||
}
|
||||
|
||||
if err:
|
||||
whois_info['error'] = err
|
||||
|
||||
return whois_info
|
||||
|
||||
# Taken from SickRage
|
||||
def anon_url(*url):
|
||||
|
|
|
@ -4327,7 +4327,7 @@ class WebInterface(object):
|
|||
@requireAuth()
|
||||
@addtoapi()
|
||||
def get_whois_lookup(self, ip_address='', **kwargs):
|
||||
""" Get the ISP info for an IP address.
|
||||
""" Get the connection info for an IP address.
|
||||
|
||||
```
|
||||
Required parameters:
|
||||
|
@ -4338,22 +4338,23 @@ class WebInterface(object):
|
|||
|
||||
Returns:
|
||||
json:
|
||||
[{"description": "Google Inc.",
|
||||
"address": "1600 Amphitheatre Parkway",
|
||||
"city": "Mountain View",
|
||||
"state": "CA",
|
||||
"postal_code": "94043",
|
||||
"country": "United States",
|
||||
...
|
||||
},
|
||||
{...}
|
||||
]
|
||||
{"host": "google-public-dns-a.google.com",
|
||||
"nets": [{"description": "Google Inc.",
|
||||
"address": "1600 Amphitheatre Parkway",
|
||||
"city": "Mountain View",
|
||||
"state": "CA",
|
||||
"postal_code": "94043",
|
||||
"country": "United States",
|
||||
...
|
||||
},
|
||||
{...}
|
||||
]
|
||||
json:
|
||||
{"error": "The address 127.0.0.1 is not in the database."
|
||||
{"host": "Not available",
|
||||
"nets": [],
|
||||
"error": "IPv4 address 127.0.0.1 is already defined as Loopback via RFC 1122, Section 3.2.1.3."
|
||||
}
|
||||
```
|
||||
"""
|
||||
whois_info = helpers.whois_lookup(ip_address)
|
||||
if isinstance(whois_info, basestring):
|
||||
return {'error': whois_info}
|
||||
return whois_info
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue