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