IP address lookup using MaxMind GeoLite2 database

This commit is contained in:
JonnyWong16 2016-06-30 21:19:54 -07:00
parent f5bfa67c69
commit c96b1eb09d
22 changed files with 2886 additions and 32 deletions

33
lib/maxminddb/compat.py Normal file
View file

@ -0,0 +1,33 @@
import sys
import ipaddress
# pylint: skip-file
if sys.version_info[0] == 2:
def compat_ip_address(address):
if isinstance(address, bytes):
address = address.decode()
return ipaddress.ip_address(address)
int_from_byte = ord
FileNotFoundError = IOError
def int_from_bytes(b):
if b:
return int(b.encode("hex"), 16)
return 0
byte_from_int = chr
else:
def compat_ip_address(address):
return ipaddress.ip_address(address)
int_from_byte = lambda x: x
FileNotFoundError = FileNotFoundError
int_from_bytes = lambda x: int.from_bytes(x, 'big')
byte_from_int = lambda x: bytes([x])