Add pipe api to tjnetwork

This commit is contained in:
wqy
2022-09-17 10:45:35 +08:00
parent 01225c309c
commit 311f067c22
3 changed files with 80 additions and 4 deletions

View File

@@ -31,4 +31,9 @@ from .s4_tanks import add_tank, delete_tank
from .s4_tanks import get_tank_elevation, get_tank_init_level, get_tank_min_level, get_tank_max_level, get_tank_diameter, get_tank_min_vol, get_tank_vol_curve, get_tank_overflow, get_tank_coord
from .s4_tanks import set_tank_elevation, set_tank_init_level, set_tank_min_level, set_tank_max_level, set_tank_diameter, set_tank_min_vol, set_tank_vol_curve, set_tank_overflow, set_tank_coord
from .s5_pipes import PIPE_STATUS_OPEN, PIPE_STATUS_CLOSED, PIPE_STATUS_CV
from .s5_pipes import add_pipe, delete_pipe
from .s5_pipes import get_pipe_node1, get_pipe_node2, get_pipe_length, get_pipe_diameter, get_pipe_roughness, get_pipe_minor_loss, get_pipe_status
from .s5_pipes import set_pipe_node1, set_pipe_node2, set_pipe_length, set_pipe_diameter, set_pipe_roughness, set_pipe_minor_loss, set_pipe_status
from .s24_coordinates import get_node_coord, set_node_coord

View File

@@ -40,12 +40,12 @@ def delete_pipe(name: str, id: str) -> ChangeSet:
return delete_link(name, PIPE, id, sql, undo_sql)
def get_pipe_ndoe1(name: str, id: str) -> str | None:
def get_pipe_node1(name: str, id: str) -> str | None:
row = _get_pipe(name, id)
return float(row['node1']) if row != None else None
def get_pipe_ndoe2(name: str, id: str) -> str | None:
def get_pipe_node2(name: str, id: str) -> str | None:
row = _get_pipe(name, id)
return float(row['node2']) if row != None else None
@@ -86,6 +86,20 @@ def _set_pipe(name: str, id: str, key: str, key_type: str, value: str, optional:
return utility.update(name, PIPE, 'pipes', 'id', id, key, key_type, row[key], value, optional)
def set_pipe_node1(name: str, id: str, node1: str) -> ChangeSet:
if not is_node(name, node1):
return
return _set_pipe(name, id, 'node1', 'str', str(node1))
def set_pipe_node2(name: str, id: str, node2: str) -> ChangeSet:
if not is_node(name, node2):
return
return _set_pipe(name, id, 'node2', 'str', str(node2))
def set_pipe_length(name: str, id: str, length: float) -> ChangeSet:
return _set_pipe(name, id, 'length', 'float', str(length))