socket.inet_pton = inet_pton
socket.inet_ntop = inet_ntop
socket.AF_INET6 = 'AF_INET6'
-
-
-# test driver
-if __name__ == "__main__":
-
- def try_good_addr(addr):
- try:
- a = v6str_to_addr(addr)
- b = v6addr_to_str(a)
- except socket.error, e:
- print "addr was invalid!:", e
- else:
- print "%s => %s" % (addr, b)
-
- try_good_addr("::");
- try_good_addr("::7");
- try_good_addr("f::");
- try_good_addr("ab:0:0:c:0:0:0:d")
- try_good_addr("ab:0:0:0:c:0:0:d")
- try_good_addr("1:2:3:4:5:6:7:8")
- try_good_addr("1:2:3::7:8")
- try_good_addr("2001:3c09:102::23:af")
- try_good_addr("::ffff:1.2.3.4")
- try_good_addr("1:2:3:4:5:6:4.3.2.1")
-
- def try_bad_addr(addr):
- try:
- a = v6str_to_addr(addr)
- except socket.error, e:
- print e
- else:
- print "addr was valid! %s => %s" % (addr, v6addr_to_str(a))
-
- # things that shouldn't parse
- try_bad_addr(":")
- try_bad_addr(":::")
- try_bad_addr("1::2::3")
- try_bad_addr("::3::")
- try_bad_addr("::1.2.3")
- try_bad_addr("12345::1")
- try_bad_addr("1:2:3:4:5:6:7:4.3.2.1")