Huge refactor to api and add batch api

This commit is contained in:
WQY\qiong
2022-10-14 23:18:01 +08:00
parent 200aaaca99
commit c5480d55ca
20 changed files with 1811 additions and 1510 deletions

View File

@@ -6,6 +6,10 @@ import api
# ChangeSet
############################################################
API_ADD = api.API_ADD
API_UPDATE = api.API_UPDATE
API_DELETE = api.API_DELETE
ChangeSet = api.ChangeSet
@@ -80,7 +84,7 @@ def execute_redo(name: str) -> ChangeSet:
def have_snapshot(name: str, tag: str) -> bool:
return api.have_snapshot(name, tag)
def take_snapshot(name: str, tag: str) -> int:
def take_snapshot(name: str, tag: str) -> int | None:
return api.take_snapshot(name, tag)
def pick_snapshot(name: str, tag: str, discard: bool = False) -> ChangeSet:
@@ -90,6 +94,14 @@ def sync_with_server(name: str, operation: int) -> ChangeSet:
return api.sync_with_server(name, operation)
############################################################
# operation
############################################################
def execute_batch_commands(name: str, cs: ChangeSet) -> ChangeSet:
return api.execute_batch_commands(name, cs)
############################################################
# type
############################################################
@@ -144,12 +156,15 @@ def get_node_links(name: str, node_id: str) -> list[str]:
# title 1.[TITLE]
############################################################
def set_title(name: str, title: str) -> ChangeSet:
return api.set_title(name, title)
def get_title_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_title_schema(name)
def get_title(name: str) -> str:
def get_title(name: str) -> dict[str, Any]:
return api.get_title(name)
def set_title(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_title(name, cs)
############################################################
# junction 2.[JUNCTIONS]
@@ -158,17 +173,18 @@ def get_title(name: str) -> str:
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, id: str) -> dict[str, Any]:
return api.get_junction(name, id)
def get_junction(name: str, junction_id: str) -> dict[str, Any] | None:
return api.get_junction(name, junction_id)
def set_junction(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_junction(name, cs)
def set_junction(name: str, junction_id: str, properties: dict[str, Any]) -> ChangeSet:
return api.set_junction(name, junction_id, properties)
# example: add_junction(p, ChangeSet({'id': 'j0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
def add_junction(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_junction(name, cs)
def delete_junction(name: str, junction_id: str) -> ChangeSet:
return api.delete_junction(name, junction_id)
def delete_junction(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_junction(name, cs)
############################################################
@@ -178,17 +194,18 @@ def delete_junction(name: str, junction_id: str) -> ChangeSet:
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, id: str) -> dict[str, Any]:
return api.get_reservoir(name, id)
def get_reservoir(name: str, reservoir_id: str) -> dict[str, Any] | None:
return api.get_reservoir(name, reservoir_id)
def set_reservoir(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_reservoir(name, cs)
def set_reservoir(name: str, reservoir_id: str, properties: dict[str, Any]) -> ChangeSet:
return api.set_reservoir(name, reservoir_id, properties)
# example: add_reservoir(p, ChangeSet({'id': 'r0', 'x': 0.0, 'y': 10.0, 'head': 20.0}))
def add_reservoir(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_reservoir(name, cs)
def delete_reservoir(name: str, reservoir_id: str) -> ChangeSet:
return api.delete_reservoir(name, reservoir_id)
def delete_reservoir(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_reservoir(name, cs)
############################################################
@@ -198,17 +215,18 @@ def delete_reservoir(name: str, reservoir_id: str) -> ChangeSet:
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, id: str) -> dict[str, Any]:
return api.get_tank(name, id)
def get_tank(name: str, tank_id: str) -> dict[str, Any] | None:
return api.get_tank(name, tank_id)
def set_tank(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_tank(name, cs)
def set_tank(name: str, tank_id: str, properties: dict[str, Any]) -> ChangeSet:
return api.set_tank(name, tank_id, properties)
# example: add_tank(p, ChangeSet({'id': 't0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0, 'init_level': 1.0, 'min_level': 0.0, 'max_level': 2.0, 'diameter': 10.0, 'min_vol': 100.0}))
def add_tank(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_tank(name, cs)
def delete_tank(name: str, tank_id: str) -> ChangeSet:
return api.delete_tank(name, tank_id)
def delete_tank(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_tank(name, cs)
############################################################
@@ -218,17 +236,18 @@ def delete_tank(name: str, tank_id: str) -> ChangeSet:
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, id: str) -> dict[str, Any]:
return api.get_pipe(name, id)
def get_pipe(name: str, pipe_id: str) -> dict[str, Any] | None:
return api.get_pipe(name, pipe_id)
def set_pipe(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_pipe(name, cs)
def set_pipe(name: str, pipe_id: str, properties: dict[str, Any]) -> ChangeSet:
return api.set_pipe(name, pipe_id, properties)
# example: add_pipe(p, ChangeSet({'id': 'p0', 'node1': 'j1', 'node2': 'j2', 'length': 100.0, 'diameter': 10.0, 'roughness': 0.1, 'minor_loss': 0.5, 'status': PIPE_STATUS_OPEN }))
def add_pipe(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_pipe(name, cs)
def delete_pipe(name: str, pipe_id: str) -> ChangeSet:
return api.delete_pipe(name, pipe_id)
def delete_pipe(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_pipe(name, cs)
############################################################
@@ -238,17 +257,18 @@ def delete_pipe(name: str, pipe_id: str) -> ChangeSet:
def get_pump_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_pump_schema(name)
def add_pump(name: str, pump_id: str, node1: str, node2: str) -> ChangeSet:
return api.add_pump(name, pump_id, node1, node2)
def get_pump(name: str, id: str) -> dict[str, Any]:
return api.get_pump(name, id)
def get_pump(name: str, pump_id: str) -> dict[str, Any] | None:
return api.get_pump(name, pump_id)
def set_pump(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_pump(name, cs)
def set_pump(name: str, pump_id: str, properties: dict[str, Any]) -> ChangeSet:
return api.set_pump(name, pump_id, properties)
# example: add_pump(p, ChangeSet({'id': 'p0', 'node1': 'j1', 'node2': 'j2'}))
def add_pump(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_pump(name, cs)
def delete_pump(name: str, pump_id: str) -> ChangeSet:
return api.delete_pump(name, pump_id)
def delete_pump(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_pump(name, cs)
############################################################
@@ -258,17 +278,18 @@ def delete_pump(name: str, pump_id: str) -> ChangeSet:
def get_valve_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_valve_schema(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 get_valve(name: str, id: str) -> dict[str, Any]:
return api.get_valve(name, id)
def get_valve(name: str, valve_id: str) -> dict[str, Any] | None:
return api.get_valve(name, valve_id)
def set_valve(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_valve(name, cs)
def set_valve(name: str, valve_id: str, properties: dict[str, Any]) -> ChangeSet:
return api.set_valve(name, valve_id, properties)
#example: add_valve(p, ChangeSet({'id': 'v0', 'node1': 'j1', 'node2': 'j2', 'diameter': 10.0, 'v_type': VALVES_TYPE_FCV, 'setting': 0.1, 'minor_loss': 0.5 }))
def add_valve(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_valve(name, cs)
def delete_valve(name: str, valve_id: str) -> ChangeSet:
return api.delete_valve(name, valve_id)
def delete_valve(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_valve(name, cs)
############################################################