]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
scripts: make scripts/inet_pton.py compatible with Python 2 and Python 3
authorPetr Špaček <petr.spacek@nic.cz>
Fri, 1 Dec 2017 12:43:19 +0000 (13:43 +0100)
committerPetr Špaček <petr.spacek@nic.cz>
Fri, 1 Dec 2017 12:48:27 +0000 (13:48 +0100)
It is 2017 already, so Python 3 is the default.

scripts/inet_pton.py

index 30bf06af64fae59e8d98d903105c73d500d77ed3..6eea32ac22b1618dbc736a7d6ded2d1bfdd6affa 100755 (executable)
@@ -1,19 +1,20 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
+"""
+Print IP address to binary representation in Python hex format \x12
+"""
 
-from socket import inet_pton,AF_INET6,AF_INET
+from socket import inet_pton, AF_INET6, AF_INET
 import sys
 from binascii import hexlify
-from string import find
 
-if find(sys.argv[1], ":") == -1:
-    addr_type = AF_INET
-else:
-    addr_type = AF_INET6
-
-x = hexlify(inet_pton(addr_type, sys.argv[1]))
+try:
+    arg = sys.argv[1]
+except:
+    sys.exit('Usage: inet_pton.py <IPv4 or IPv6 address>')
 
-out = ""
-for i in range(0, len(x) / 2):
-    out += "\\x" + x[i*2] + x[i*2+1]
+if ':' in arg:
+    addr_type = AF_INET6
+else:
+    addr_type = AF_INET
 
-print out
+print(repr(inet_pton(addr_type, arg)).strip("'"))