287 lines
9.6 KiB
Python
287 lines
9.6 KiB
Python
from typing import Any
|
|
import api
|
|
|
|
|
|
############################################################
|
|
# ChangeSet
|
|
############################################################
|
|
|
|
ChangeSet = api.ChangeSet
|
|
|
|
|
|
############################################################
|
|
# enum
|
|
############################################################
|
|
|
|
JUNCTION = api.JUNCTION
|
|
RESERVOIR = api.RESERVOIR
|
|
TANK = api.TANK
|
|
PIPE = api.PIPE
|
|
PUMP = api.PUMP
|
|
VALVE = api.VALVE
|
|
|
|
OVERFLOW_YES = api.OVERFLOW_YES
|
|
OVERFLOW_NO = api.OVERFLOW_NO
|
|
|
|
PIPE_STATUS_OPEN = api.PIPE_STATUS_OPEN
|
|
PIPE_STATUS_CLOSED = api.PIPE_STATUS_CLOSED
|
|
PIPE_STATUS_CV = api.PIPE_STATUS_CV
|
|
|
|
VALVES_TYPE_PRV = api.VALVES_TYPE_PRV
|
|
VALVES_TYPE_PSV = api.VALVES_TYPE_PSV
|
|
VALVES_TYPE_PBV = api.VALVES_TYPE_PBV
|
|
VALVES_TYPE_FCV = api.VALVES_TYPE_FCV
|
|
VALVES_TYPE_TCV = api.VALVES_TYPE_TCV
|
|
VALVES_TYPE_GPV = api.VALVES_TYPE_GPV
|
|
|
|
|
|
############################################################
|
|
# project
|
|
############################################################
|
|
|
|
def have_project(name: str) -> bool:
|
|
return api.have_project(name)
|
|
|
|
def create_project(name: str) -> None:
|
|
return api.create_project(name)
|
|
|
|
def delete_project(name: str) -> None:
|
|
return api.delete_project(name)
|
|
|
|
def is_project_open(name: str) -> bool:
|
|
return api.is_project_open(name)
|
|
|
|
def get_project_open_count(name: str) -> int:
|
|
return api.get_project_open_count(name)
|
|
|
|
def open_project(name: str) -> None:
|
|
return api.open_project(name)
|
|
|
|
def close_project(name: str) -> None:
|
|
return api.close_project(name)
|
|
|
|
def copy_project(source: str, new: str) -> None:
|
|
return api.copy_project(source, new)
|
|
|
|
|
|
############################################################
|
|
# operation
|
|
############################################################
|
|
|
|
def get_current_operation(name: str) -> int:
|
|
return api.get_current_operation(name)
|
|
|
|
def execute_undo(name: str, discard: bool = False) -> ChangeSet:
|
|
return api.execute_undo(name, discard)
|
|
|
|
def execute_redo(name: str) -> ChangeSet:
|
|
return api.execute_redo(name)
|
|
|
|
def have_snapshot(name: str, tag: str) -> bool:
|
|
return api.have_snapshot(name, tag)
|
|
|
|
def take_snapshot(name: str, tag: str) -> int:
|
|
return api.take_snapshot(name, tag)
|
|
|
|
def pick_snapshot(name: str, tag: str, discard: bool = False) -> ChangeSet:
|
|
return api.pick_snapshot(name, tag, discard)
|
|
|
|
def sync_with_server(name: str, operation: int) -> ChangeSet:
|
|
return api.sync_with_server(name, operation)
|
|
|
|
|
|
############################################################
|
|
# type
|
|
############################################################
|
|
|
|
def is_node(name: str, node_id: str) -> bool:
|
|
return api.is_node(name, node_id)
|
|
|
|
def is_junction(name: str, node_id: str) -> bool:
|
|
return api.is_junction(name, node_id)
|
|
|
|
def is_reservoir(name: str, node_id: str) -> bool:
|
|
return api.is_reservoir(name, node_id)
|
|
|
|
def is_tank(name: str, node_id: str) -> bool:
|
|
return api.is_tank(name, node_id)
|
|
|
|
def is_link(name: str, link_id: str) -> bool:
|
|
return api.is_link(name, link_id)
|
|
|
|
def is_pipe(name: str, link_id: str) -> bool:
|
|
return api.is_pipe(name, link_id)
|
|
|
|
def is_pump(name: str, link_id: str) -> bool:
|
|
return api.is_pump(name, link_id)
|
|
|
|
def is_valve(name: str, link_id: str) -> bool:
|
|
return api.is_valve(name, link_id)
|
|
|
|
def is_curve(name: str, curve_id: str) -> bool:
|
|
return api.is_curve(name, curve_id)
|
|
|
|
def is_pattern(name: str, pattern_id: str) -> bool:
|
|
return api.is_pattern(name, pattern_id)
|
|
|
|
def get_nodes(name: str) -> list[str]:
|
|
return api.get_nodes(name)
|
|
|
|
def get_links(name: str) -> list[str]:
|
|
return api.get_links(name)
|
|
|
|
def get_curves(name: str) -> list[str]:
|
|
return api.get_curves(name)
|
|
|
|
def get_patterns(name: str) -> list[str]:
|
|
return api.get_patterns(name)
|
|
|
|
|
|
############################################################
|
|
# title 1.[TITLE]
|
|
############################################################
|
|
|
|
def set_title(name: str, title: str) -> ChangeSet:
|
|
return api.set_title(name, title)
|
|
|
|
def get_title(name: str) -> str:
|
|
return api.get_title(name)
|
|
|
|
|
|
############################################################
|
|
# junction 2.[JUNCTIONS]
|
|
############################################################
|
|
|
|
def get_junction_schema(name: str) -> dict[str, dict[str, Any]]:
|
|
return api.get_junction_schema(name)
|
|
|
|
def add_junction(name: str, junction_id: str, x: float, y: float, elevation: float) -> ChangeSet:
|
|
return api.add_junction(name, junction_id, x, y, elevation)
|
|
|
|
def get_junction(name: str, junction_id: str) -> dict[str, Any] | None:
|
|
return api.get_junction(name, junction_id)
|
|
|
|
def set_junction(name: str, junction_id: str, properties: dict[str, Any]) -> ChangeSet:
|
|
return api.set_junction(name, junction_id, properties)
|
|
|
|
def delete_junction(name: str, junction_id: str) -> ChangeSet:
|
|
return api.delete_junction(name, junction_id)
|
|
|
|
|
|
############################################################
|
|
# reservoir 3.[RESERVOIRS]
|
|
############################################################
|
|
|
|
def get_reservoir_schema(name: str) -> dict[str, dict[str, Any]]:
|
|
return api.get_reservoir_schema(name)
|
|
|
|
def add_reservoir(name: str, reservoir_id: str, x: float, y: float, head: float) -> ChangeSet:
|
|
return api.add_reservoir(name, reservoir_id, x, y, head)
|
|
|
|
def get_reservoir(name: str, reservoir_id: str) -> dict[str, Any] | None:
|
|
return api.get_reservoir(name, reservoir_id)
|
|
|
|
def set_reservoir(name: str, reservoir_id: str, properties: dict[str, Any]) -> ChangeSet:
|
|
return api.set_reservoir(name, reservoir_id, properties)
|
|
|
|
def delete_reservoir(name: str, reservoir_id: str) -> ChangeSet:
|
|
return api.delete_reservoir(name, reservoir_id)
|
|
|
|
|
|
############################################################
|
|
# tank 4.[TANKS]
|
|
############################################################
|
|
|
|
def get_tank_schema(name: str) -> dict[str, dict[str, Any]]:
|
|
return api.get_tank_schema(name)
|
|
|
|
def add_tank(name: str, tank_id: str, x: float, y: float, elevation: float, init_level: float = 0, min_level: float = 0, max_level: float = 0, diameter: float = 0, min_vol: float = 0) -> ChangeSet:
|
|
return api.add_tank(name, tank_id, x, y, elevation, init_level, min_level, max_level, diameter, min_vol)
|
|
|
|
def get_tank(name: str, tank_id: str) -> dict[str, Any] | None:
|
|
return api.get_tank(name, tank_id)
|
|
|
|
def set_tank(name: str, tank_id: str, properties: dict[str, Any]) -> ChangeSet:
|
|
return api.set_tank(name, tank_id, properties)
|
|
|
|
def delete_tank(name: str, tank_id: str) -> ChangeSet:
|
|
return api.delete_tank(name, tank_id)
|
|
|
|
|
|
############################################################
|
|
# pipe 4.[PIPES]
|
|
############################################################
|
|
|
|
def get_pipe_schema(name: str) -> dict[str, dict[str, Any]]:
|
|
return api.get_pipe_schema(name)
|
|
|
|
def add_pipe(name: str, pipe_id: str, node1: str, node2: str, length: float = 0, diameter: float = 0, roughness: float = 0, minor_loss: float = 0, status: str = PIPE_STATUS_OPEN) -> ChangeSet:
|
|
return api.add_pipe(name, pipe_id, node1, node2, length, diameter, roughness, minor_loss, status)
|
|
|
|
def get_pipe(name: str, pipe_id: str) -> dict[str, Any] | None:
|
|
return api.get_pipe(name, pipe_id)
|
|
|
|
def set_pipe(name: str, pipe_id: str, properties: dict[str, Any]) -> ChangeSet:
|
|
return api.set_pipe(name, pipe_id, properties)
|
|
|
|
def delete_pipe(name: str, pipe_id: str) -> ChangeSet:
|
|
return api.delete_pipe(name, pipe_id)
|
|
|
|
|
|
############################################################
|
|
# pump 4.[PUMPS]
|
|
############################################################
|
|
|
|
def get_pump_property_names(name: str) -> list[str]:
|
|
return api.get_pump_property_names(name)
|
|
|
|
def add_pump(name: str, pump_id: str, node1: str, node2: str) -> ChangeSet:
|
|
return api.add_pump(name, pump_id, node1, node2)
|
|
|
|
def delete_pump(name: str, pump_id: str) -> ChangeSet:
|
|
return api.delete_pump(name, pump_id)
|
|
|
|
def set_pump_node1(name: str, pump_id: str, node1: str) -> ChangeSet:
|
|
return api.set_pump_node1(name, pump_id, node1)
|
|
|
|
def set_pump_node2(name: str, pump_id: str, node2: str) -> ChangeSet:
|
|
return api.set_pump_node2(name, pump_id, node2)
|
|
|
|
def get_pump_properties(name: str, pump_id: str) -> dict[str, Any] | None:
|
|
return api.get_pump_properties(name, pump_id)
|
|
|
|
|
|
############################################################
|
|
# valve 4.[VALVES]
|
|
############################################################
|
|
|
|
def get_valve_property_names(name: str) -> list[str]:
|
|
return api.get_valve_property_names(name)
|
|
|
|
def add_valve(name: str, valve_id: str, node1: str, node2: str, diameter: float = 0, type: str = VALVES_TYPE_PRV, setting: float = 0, minor_loss: float = 0) -> ChangeSet:
|
|
return api.add_valve(name, valve_id, node1, node2, diameter, type, setting, minor_loss)
|
|
|
|
def delete_valve(name: str, valve_id: str) -> ChangeSet:
|
|
return api.delete_valve(name, valve_id)
|
|
|
|
def set_valve_node1(name: str, valve_id: str, node1: str) -> ChangeSet:
|
|
return api.set_valve_node1(name, valve_id, node1)
|
|
|
|
def set_valve_node2(name: str, valve_id: str, node2: str) -> ChangeSet:
|
|
return api.set_valve_node2(name, valve_id, node2)
|
|
|
|
def set_valve_diameter(name: str, valve_id: str, diameter: float) -> ChangeSet:
|
|
return api.set_valve_diameter(name, valve_id, diameter)
|
|
|
|
def set_valve_type(name: str, valve_id: str, type: str) -> ChangeSet:
|
|
return api.set_valve_type(name, valve_id, type)
|
|
|
|
def set_valve_setting(name: str, valve_id: str, setting: float) -> ChangeSet:
|
|
return api.set_valve_setting(name, valve_id, setting)
|
|
|
|
def set_valve_minor_loss(name: str, valve_id: str, minor_loss: float) -> ChangeSet:
|
|
return api.set_valve_minor_loss(name, valve_id, minor_loss)
|
|
|
|
def get_valve_properties(name: str, pump_id: str) -> dict[str, Any] | None:
|
|
return api.get_valve_properties(name, pump_id)
|