Files
TJWaterServer/tjnetwork.py
2022-09-16 23:01:43 +08:00

280 lines
9.3 KiB
Python

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
############################################################
# 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 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 undo(name: str) -> None:
return api.undo(name)
def redo(name: str) -> None:
return api.redo(name)
def have_snapshot(name: str, tag: str) -> bool:
return api.have_snapshot(name, tag)
def take_snapshot(name: str, tag: str) -> None:
return api.take_snapshot(name, tag)
def pick_snapshot(name: str, tag: str) -> None:
return api.pick_snapshot(name, tag)
def have_transaction(name: str) -> bool:
return api.have_transaction(name)
def start_transaction(name: str, strict: bool = False) -> None:
return api.start_transaction(name, strict)
def commit_transaction(name: str) -> None:
return api.commit_transaction(name)
def abort_transaction(name: str) -> None:
return api.abort_transaction(name)
############################################################
# 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 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 delete_junction(name: str, junction_id: str) -> ChangeSet:
return api.delete_junction(name, junction_id)
def get_junction_elevation(name: str, junction_id: str) -> float | None:
return api.get_junction_elevation(name, junction_id)
def get_junction_demand(name: str, junction_id: str) -> float | str | None:
return api.get_junction_demand(name, junction_id)
def get_junction_pattern(name: str, junction_id: str) -> str | None:
return api.get_junction_pattern(name, junction_id)
def get_junction_coord(name: str, junction_id: str) -> dict[str, float] | None:
return api.get_junction_coord(name, junction_id)
def set_junction_elevation(name: str, junction_id: str, elevation: float) -> ChangeSet:
return api.set_junction_elevation(name, junction_id, elevation)
def set_junction_demand(name: str, junction_id: str, demand: float) -> ChangeSet:
return api.set_junction_demand(name, junction_id, demand)
def set_junction_pattern(name: str, junction_id: str, pattern: str) -> ChangeSet:
return api.set_junction_pattern(name, junction_id, pattern)
def set_junction_coord(name: str, junction_id: str, x: float, y: float) -> ChangeSet:
return api.set_junction_coord(name, junction_id, x, y)
############################################################
# reservoir 3.[RESERVOIRS]
############################################################
def add_reservoir(name: str, reservoir_id: str, x: float, y: float, elevation: float) -> ChangeSet:
return api.add_reservoir(name, reservoir_id, x, y, elevation)
def delete_reservoir(name: str, reservoir_id: str) -> ChangeSet:
return api.delete_reservoir(name, reservoir_id)
def get_reservoir_head(name: str, reservoir_id: str) -> float | None:
return api.get_reservoir_head(name, reservoir_id)
def get_reservoir_pattern(name: str, reservoir_id: str) -> str | None:
return api.get_reservoir_pattern(name, reservoir_id)
def get_reservoir_coord(name: str, reservoir_id: str) -> dict[str, float] | None:
return api.get_reservoir_coord(name, reservoir_id)
def set_reservoir_head(name: str, reservoir_id: str, elevation: float) -> ChangeSet:
return api.set_reservoir_head(name, reservoir_id, elevation)
def set_reservoir_pattern(name: str, reservoir_id: str, pattern: str) -> ChangeSet:
return api.set_reservoir_pattern(name, reservoir_id, pattern)
def set_reservoir_coord(name: str, reservoir_id: str, x: float, y: float) -> ChangeSet:
return api.set_reservoir_coord(name, reservoir_id, x, y)
############################################################
# tank 4.[TANKS]
############################################################
def add_tank(name: str, tank_id: str, x: float, y: float, elevation: float) -> ChangeSet:
return api.add_tank(name, tank_id, x, y, elevation)
def delete_tank(name: str, tank_id: str) -> ChangeSet:
return api.delete_tank(name, tank_id)
def get_tank_elevation(name: str, tank_id: str) -> float | None:
return api.get_tank_elevation(name, tank_id)
def get_tank_init_level(name: str, tank_id: str) -> float | None:
return api.get_tank_init_level(name, tank_id)
def get_tank_min_level(name: str, tank_id: str) -> float | None:
return api.get_tank_min_level(name, tank_id)
def get_tank_max_level(name: str, tank_id: str) -> float | None:
return api.get_tank_max_level(name, tank_id)
def get_tank_diameter(name: str, tank_id: str) -> float | None:
return api.get_tank_diameter(name, tank_id)
def get_tank_min_vol(name: str, tank_id: str) -> float | None:
return api.get_tank_min_vol(name, tank_id)
def get_tank_vol_curve(name: str, tank_id: str) -> str | None:
return api.get_tank_vol_curve(name, tank_id)
def get_tank_overflow(name: str, tank_id: str) -> str | None:
return api.get_tank_overflow(name, tank_id)
def get_tank_coord(name: str, tank_id: str) -> dict[str, float] | None:
return api.get_tank_coord(name, tank_id)
def set_tank_elevation(name: str, tank_id: str, elevation: float) -> ChangeSet:
return api.set_tank_elevation(name, tank_id, elevation)
def set_tank_init_level(name: str, tank_id: str, init_level: float) -> ChangeSet:
return api.set_tank_init_level(name, tank_id, init_level)
def set_tank_min_level(name: str, tank_id: str, min_level: float) -> ChangeSet:
return api.set_tank_min_level(name, tank_id, min_level)
def set_tank_max_level(name: str, tank_id: str, max_level: float) -> ChangeSet:
return api.set_tank_max_level(name, tank_id, max_level)
def set_tank_diameter(name: str, tank_id: str, diameter: float) -> ChangeSet:
return api.set_tank_diameter(name, tank_id, diameter)
def set_tank_min_vol(name: str, tank_id: str, min_vol: float) -> ChangeSet:
return api.set_tank_min_vol(name, tank_id, min_vol)
def set_tank_vol_curve(name: str, tank_id: str, vol_curve: str) -> ChangeSet:
return api.set_tank_vol_curve(name, tank_id, vol_curve)
def set_tank_overflow(name: str, tank_id: str, overflow: str) -> ChangeSet:
return api.set_tank_overflow(name, tank_id, overflow)
def set_tank_coord(name: str, tank_id: str, x: float, y: float) -> ChangeSet:
return api.set_tank_coord(name, tank_id, x, y)
############################################################
# coordinates 24.[COORDINATES]
############################################################
def get_node_coord(name: str, tank_id: str) -> dict[str, float] | None:
return api.get_node_coord(name, tank_id)
def set_node_coord(name: str, tank_id: str, x: float, y: float) -> ChangeSet:
return api.set_node_coord(name, tank_id, x, y)