fixes for the @echarlie IPv6 patch (#160)

This commit is contained in:
Igor Chubin
2019-07-07 19:10:05 +02:00
parent b1ebd1b605
commit ef50b23f5b

View File

@@ -11,7 +11,6 @@ from __future__ import print_function
import os import os
import json import json
import re
import socket import socket
import requests import requests
import geoip2.database import geoip2.database
@@ -36,10 +35,12 @@ def is_ip(ip_addr):
Check if `ip_addr` looks like an IP Address Check if `ip_addr` looks like an IP Address
""" """
if re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', ip_addr) is None:
return False
try: try:
socket.inet_aton(ip_addr) socket.inet_pton(socket.AF_INET, ip_addr.encode("utf-8"))
return True
except socket.error:
try:
socket.inet_pton(socket.AF_INET6, ip_addr.encode("utf-8"))
return True return True
except socket.error: except socket.error:
return False return False