From f9f711ca0bbbe517f987d06591820f28324fe61e Mon Sep 17 00:00:00 2001 From: Pavel Patsey Date: Fri, 24 Jan 2025 13:49:00 +0300 Subject: [PATCH] add insurance functions example --- archive/find_subnets_example.md | 14 ------------ archive/insurance_functions_example.md | 30 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 14 deletions(-) delete mode 100644 archive/find_subnets_example.md create mode 100644 archive/insurance_functions_example.md diff --git a/archive/find_subnets_example.md b/archive/find_subnets_example.md deleted file mode 100644 index 4c2940b..0000000 --- a/archive/find_subnets_example.md +++ /dev/null @@ -1,14 +0,0 @@ -```python -def find_subnets(nodes: list[Node]) -> list[tuple[Node, Node]]: - subnets = [] - for i, (a, b) in enumerate(zip(nodes, nodes[1:])): - parent_node, dip = merge_two_nodes(a, b) - if parent_node == a or parent_node == b: - subnets.append((a, b)) - return subnets - - -def ensure_no_subnets(nodes: list[Node]): - if subnets := find_subnets(nodes): - raise Cidr4MergerError(f"There are subnets! {subnets=}") -``` diff --git a/archive/insurance_functions_example.md b/archive/insurance_functions_example.md new file mode 100644 index 0000000..8b1a256 --- /dev/null +++ b/archive/insurance_functions_example.md @@ -0,0 +1,30 @@ +```python +def find_subnets(nodes: list[Node]) -> list[tuple[Node, Node]]: + subnets = [] + for i, (a, b) in enumerate(zip(nodes, nodes[1:])): + parent_node, dip = merge_two_nodes(a, b) + if parent_node == a or parent_node == b: + subnets.append((a, b)) + return subnets + + +def ensure_no_subnets(nodes: list[Node]): + if subnets := find_subnets(nodes): + raise Cidr4MergerError(f"There are subnets! {subnets=}") +``` + + +```python +def find_neighbors(nodes: list[Node]) -> list[tuple[Node, Node]]: + neighbors = [] + for i, (a, b) in enumerate(zip(nodes, nodes[1:])): + parent_node, dip = merge_two_nodes(a, b) + if parent_node[1] + 1 == a[1] == b[1]: + neighbors.append((a, b)) + return neighbors + + +def ensure_no_neighbors(nodes: list[Node]): + if neighbors := find_neighbors(nodes): + raise Cidr4MergerError(f"There are neighbors! {neighbors=}") +```