Cidr4 merge algorithm #5
@@ -33,18 +33,18 @@ ip_d = int(bin_d, 2)
|
|||||||
|
|
||||||
|
|
||||||
def test_cidr4_to_node():
|
def test_cidr4_to_node():
|
||||||
assert cidr4_to_node("4.78.139.0/24") == (72256256, 24, 0)
|
assert cidr4_to_node("4.78.139.0/24") == (72256256, 24)
|
||||||
assert cidr4_to_node("0.0.0.0/32") == (0, 32, 0)
|
assert cidr4_to_node("0.0.0.0/32") == (0, 32)
|
||||||
|
|
||||||
assert cidr4_to_node("23.234.30.0/24") == (401219072, 24, 0)
|
assert cidr4_to_node("23.234.30.0/24") == (401219072, 24)
|
||||||
assert cidr4_to_node("172.217.0.0/19") == (2899902464, 19, 0)
|
assert cidr4_to_node("172.217.0.0/19") == (2899902464, 19)
|
||||||
assert cidr4_to_node("23.225.141.0/24") == (400657664, 24, 0)
|
assert cidr4_to_node("23.225.141.0/24") == (400657664, 24)
|
||||||
assert cidr4_to_node("31.13.94.0/23") == (520969728, 23, 0)
|
assert cidr4_to_node("31.13.94.0/23") == (520969728, 23)
|
||||||
|
|
||||||
assert cidr4_to_node("0.0.0.0/2") == (0, 2, 0)
|
assert cidr4_to_node("0.0.0.0/2") == (0, 2)
|
||||||
assert cidr4_to_node("64.0.0.0/2") == (1073741824, 2, 0)
|
assert cidr4_to_node("64.0.0.0/2") == (1073741824, 2)
|
||||||
assert cidr4_to_node("128.0.0.0/2") == (2147483648, 2, 0)
|
assert cidr4_to_node("128.0.0.0/2") == (2147483648, 2)
|
||||||
assert cidr4_to_node("192.0.0.0/2") == (3221225472, 2, 0)
|
assert cidr4_to_node("192.0.0.0/2") == (3221225472, 2)
|
||||||
|
|
||||||
|
|
||||||
def test_make_cidr4():
|
def test_make_cidr4():
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import cProfile
|
import cProfile
|
||||||
|
|
||||||
Node = tuple[int, int, int]
|
Node = tuple[int, int]
|
||||||
|
|
||||||
|
|
||||||
class Cidr4MergerError(Exception):
|
class Cidr4MergerError(Exception):
|
||||||
@@ -15,11 +15,10 @@ def get_data(input_file):
|
|||||||
|
|
||||||
def cidr4_to_node(cidr4: str) -> Node:
|
def cidr4_to_node(cidr4: str) -> Node:
|
||||||
ip_address, mask_len = cidr4.strip().split("/")
|
ip_address, mask_len = cidr4.strip().split("/")
|
||||||
mask_len = int(mask_len)
|
|
||||||
a, b, c, d = list(map(int, ip_address.split(".")))
|
a, b, c, d = list(map(int, ip_address.split(".")))
|
||||||
ip = a * 256**3 + b * 256**2 + c * 256**1 + d * 256**0
|
ip = a * 256**3 + b * 256**2 + c * 256**1 + d * 256**0
|
||||||
added_ips_number = 0
|
mask_len = int(mask_len)
|
||||||
return ip, mask_len, added_ips_number
|
return ip, mask_len
|
||||||
|
|
||||||
|
|
||||||
def sort_nodes(nodes: list[Node]) -> list[Node]:
|
def sort_nodes(nodes: list[Node]) -> list[Node]:
|
||||||
@@ -39,8 +38,8 @@ def get_parent_ip(ip: int, mask_len: int) -> int:
|
|||||||
|
|
||||||
|
|
||||||
def make_parent(a: Node, b: Node) -> Node:
|
def make_parent(a: Node, b: Node) -> Node:
|
||||||
ip, mask_len, added_ips_number = None
|
ip, mask_len = 0, 0
|
||||||
return ip, mask_len, added_ips_number
|
return ip, mask_len
|
||||||
|
|
||||||
|
|
||||||
def make_cidr4(ip, mask_len) -> str:
|
def make_cidr4(ip, mask_len) -> str:
|
||||||
|
|||||||
Reference in New Issue
Block a user