add insurance functions example
This commit is contained in:
@@ -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=}")
|
|
||||||
```
|
|
||||||
@@ -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=}")
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user