summaryrefslogtreecommitdiff
path: root/detection/awdb/compat.py
diff options
context:
space:
mode:
Diffstat (limited to 'detection/awdb/compat.py')
-rw-r--r--detection/awdb/compat.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/detection/awdb/compat.py b/detection/awdb/compat.py
new file mode 100644
index 0000000..9952ac4
--- /dev/null
+++ b/detection/awdb/compat.py
@@ -0,0 +1,39 @@
+import sys
+
+import ipaddress
+
+
+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
+
+ string_type = basestring
+
+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])
+
+ string_type = str