Add API to get all valve and pumps

This commit is contained in:
DingZQ
2025-03-29 17:02:30 +08:00
parent 6e3d149503
commit d1687b8464
5 changed files with 62 additions and 2 deletions

View File

@@ -51,11 +51,11 @@ from .s5_pipes import PIPE_STATUS_OPEN, PIPE_STATUS_CLOSED, PIPE_STATUS_CV
from .s5_pipes import get_pipe_schema, add_pipe, get_pipe, set_pipe, get_all_pipes
from .batch_api import delete_pipe_cascade
from .s6_pumps import get_pump_schema, add_pump, get_pump, set_pump
from .s6_pumps import get_pump_schema, add_pump, get_pump, set_pump, get_all_pumps
from .batch_api import delete_pump_cascade
from .s7_valves import VALVES_TYPE_PRV, VALVES_TYPE_PSV, VALVES_TYPE_PBV, VALVES_TYPE_FCV, VALVES_TYPE_TCV, VALVES_TYPE_GPV
from .s7_valves import get_valve_schema, add_valve, get_valve, set_valve
from .s7_valves import get_valve_schema, add_valve, get_valve, set_valve, get_all_valves
from .batch_api import delete_valve_cascade
from .s8_tags import TAG_TYPE_NODE, TAG_TYPE_LINK

View File

@@ -26,6 +26,27 @@ def get_pump(name: str, id: str) -> dict[str, Any]:
d['pattern'] = str(p['pattern']) if p['pattern'] != None else None
return d
# DingZQ, 2025-03-29
def get_all_pumps(name: str) -> list[dict[str, Any]]:
rows = read_all(name, f"select * from pumps")
if rows == None:
return []
result = []
for row in rows:
d = {}
d['id'] = str(row['id'])
d['node1'] = str(row['node1'])
d['node2'] = str(row['node2'])
d['power'] = float(row['power']) if row['power'] != None else None
d['head'] = str(row['head']) if row['head'] != None else None
d['speed'] = float(p['speed']) if p['speed'] != None else None
d['pattern'] = str(p['pattern']) if p['pattern'] != None else None
result.append(d)
return result
class Pump(object):
def __init__(self, input: dict[str, Any]) -> None:

View File

@@ -34,6 +34,27 @@ def get_valve(name: str, id: str) -> dict[str, Any]:
d['minor_loss'] = float(p['minor_loss'])
return d
def get_all_valves(name: str) -> list[dict[str, Any]]:
rows = read_all(name, f"select * from valves")
if rows == None:
return []
result = []
for row in rows:
d = {}
d['id'] = str(row['id'])
d['node1'] = str(row['node1'])
d['node2'] = str(row['node2'])
d['diameter'] = float(row['diameter'])
d['v_type'] = str(row['v_type'])
d['setting'] = str(row['setting'])
d['minor_loss'] = float(row['minor_loss'])
result.append(d)
return result
class Valve(object):
def __init__(self, input: dict[str, Any]) -> None: