Refine node and link operatons

This commit is contained in:
DingZQ
2022-10-16 09:48:21 +08:00
parent 62e29245f4
commit 8c00bf9a6f

309
main.py
View File

@@ -1,6 +1,8 @@
from cmath import tan
import os import os
import io import io
import json import json
from platform import node
from typing import * from typing import *
from urllib.request import Request from urllib.request import Request
from fastapi import FastAPI, File, UploadFile from fastapi import FastAPI, File, UploadFile
@@ -173,7 +175,10 @@ async def fast_get_junction_schema(network: str) -> dict[str, dict[str, Any]]:
@app.post("/addjunction/") @app.post("/addjunction/")
async def fastapi_add_junction(network: str, junction: str, x: float, y: float, z: float) -> ChangeSet: async def fastapi_add_junction(network: str, junction: str, x: float, y: float, z: float) -> ChangeSet:
ps = {'id' : junction, 'x' : x, 'y' : y, 'elevation' : z} ps = { 'id' : junction,
'x' : x,
'y' : y,
'elevation' : z }
return add_junction(network, ChangeSet(ps)) return add_junction(network, ChangeSet(ps))
@app.post("/deletejunction/") @app.post("/deletejunction/")
@@ -199,7 +204,8 @@ async def fastapi_get_junction_x(network: str, junction: str) -> float:
@app.get("/getjunctioncoord/") @app.get("/getjunctioncoord/")
async def fastapi_get_junction_coord(network: str, junction: str) -> dict[str, float]: async def fastapi_get_junction_coord(network: str, junction: str) -> dict[str, float]:
ps = get_junction(network, junction) ps = get_junction(network, junction)
coord = { 'x' : ps['x'], 'y' : ps['y']} coord = { 'x' : ps['x'],
'y' : ps['y'] }
return coord return coord
@app.get("/getjunctiondemand/") @app.get("/getjunctiondemand/")
@@ -214,46 +220,40 @@ async def fastapi_get_junction_pattern(network: str, junction: str) -> str:
@app.post("/setjunctionelevation/") @app.post("/setjunctionelevation/")
async def fastapi_set_junction_elevation(network: str, junction: str, elevation: float) -> ChangeSet: async def fastapi_set_junction_elevation(network: str, junction: str, elevation: float) -> ChangeSet:
props = {} ps = { 'id' : junction,
props['id'] = junction 'elevation' : elevation }
props['elevation'] = elevation return set_junction(network, ChangeSet(ps))
return set_junction(network, ChangeSet(props))
@app.post("/setjunctionx/") @app.post("/setjunctionx/")
async def fastapi_set_junction_x(network: str, junction: str, x: float) -> ChangeSet: async def fastapi_set_junction_x(network: str, junction: str, x: float) -> ChangeSet:
props = {} ps = { 'id' : junction,
props['id'] = junction 'x' : x }
props['x'] = x return set_junction(network, ChangeSet(ps))
return set_junction(network, ChangeSet(props))
@app.post("/setjunctiony/") @app.post("/setjunctiony/")
async def fastapi_set_junction_y(network: str, junction: str, y: float) -> ChangeSet: async def fastapi_set_junction_y(network: str, junction: str, y: float) -> ChangeSet:
props = {} ps = { 'id' : junction,
props['id'] = junction 'y' : y }
props['y'] = y return set_junction(network, ChangeSet(ps))
return set_junction(network, ChangeSet(props))
@app.post("/setjunctioncoord/") @app.post("/setjunctioncoord/")
async def fastapi_set_junction_coord(network: str, junction: str, x: float, y: float) -> ChangeSet: async def fastapi_set_junction_coord(network: str, junction: str, x: float, y: float) -> ChangeSet:
props = {} ps = { 'id' : junction,
props['id'] = junction 'x' : x,
props['x'] = x 'y' : y }
props['y'] = y return set_junction(network, ChangeSet(ps))
return set_junction(network, ChangeSet(props))
@app.post("/setjunctiondemand/") @app.post("/setjunctiondemand/")
async def fastapi_set_junction_demand(network: str, junction: str, demand: float) -> ChangeSet: async def fastapi_set_junction_demand(network: str, junction: str, demand: float) -> ChangeSet:
props = {} ps = { 'id' : junction,
props['id'] = junction 'demand' : demand }
props['demand'] = demand return set_junction(network, ChangeSet(ps))
return set_junction(network, ChangeSet(props))
@app.post("/setjunctionpattern/") @app.post("/setjunctionpattern/")
async def fastapi_set_junction_pattern(network: str, junction: str, pattern: str) -> ChangeSet: async def fastapi_set_junction_pattern(network: str, junction: str, pattern: str) -> ChangeSet:
props = {} ps = { 'id' : junction,
props['id'] = junction 'pattern' : pattern }
props['pattern'] = pattern return set_junction(network, ChangeSet(ps))
return set_junction(network, ChangeSet(props))
@app.get("/getjunctionproperties/") @app.get("/getjunctionproperties/")
async def fastapi_get_junction_properties(network: str, junction: str) -> dict[str, Any]: async def fastapi_get_junction_properties(network: str, junction: str) -> dict[str, Any]:
@@ -261,7 +261,9 @@ async def fastapi_get_junction_properties(network: str, junction: str) -> dict[s
@app.post("/setjunctionproperties/") @app.post("/setjunctionproperties/")
async def fastapi_set_junction_properties(network: str, junction: str, props: dict[str, Any]) -> ChangeSet: async def fastapi_set_junction_properties(network: str, junction: str, props: dict[str, Any]) -> ChangeSet:
return set_junction(network, ChangeSet(props)) ps = { 'id' : junction } | props
return set_junction(network, ChangeSet(ps))
############################################################ ############################################################
# reservoir 3.[RESERVOIRS] # reservoir 3.[RESERVOIRS]
@@ -272,11 +274,16 @@ async def fast_get_reservoir_schema(network: str) -> dict[str, dict[str, Any]]:
@app.post("/addreservoir/") @app.post("/addreservoir/")
async def fastapi_add_reservoir(network: str, reservoir: str, x: float, y: float, head: float) -> ChangeSet: async def fastapi_add_reservoir(network: str, reservoir: str, x: float, y: float, head: float) -> ChangeSet:
return add_reservoir(network, reservoir, x, y, head) ps = { 'id' : reservoir,
'x' : x,
'y' : y,
'head' : head }
return add_reservoir(network, ChangeSet(ps))
@app.post("/deletereservoir/") @app.post("/deletereservoir/")
async def fastapi_delete_reservoir(network: str, reservoir: str) -> ChangeSet: async def fastapi_delete_reservoir(network: str, reservoir: str) -> ChangeSet:
return delete_reservoir(network, reservoir) coord = { 'id' : reservoir }
return delete_reservoir(network, ChangeSet(ps))
@app.get("/getreservoirhead/") @app.get("/getreservoirhead/")
async def fastapi_get_reservoir_head(network: str, reservoir: str) -> float | None: async def fastapi_get_reservoir_head(network: str, reservoir: str) -> float | None:
@@ -301,39 +308,41 @@ async def fastapi_get_reservoir_y(network: str, reservoir: str) -> dict[str, flo
@app.get("/getreservoircoord/") @app.get("/getreservoircoord/")
async def fastapi_get_reservoir_y(network: str, reservoir: str) -> dict[str, float] | None: async def fastapi_get_reservoir_y(network: str, reservoir: str) -> dict[str, float] | None:
ps = get_reservoir(network, reservoir) ps = get_reservoir(network, reservoir)
coord = { 'x' : ps['x'], 'y' : ps['y']} coord = { 'id' : reservoir,
'x' : ps['x'],
'y' : ps['y'] }
return coord return coord
@app.post("/setreservoirhead/") @app.post("/setreservoirhead/")
async def fastapi_set_reservoir_head(network: str, reservoir: str, head: float) -> ChangeSet: async def fastapi_set_reservoir_head(network: str, reservoir: str, head: float) -> ChangeSet:
props = {} ps = { 'id' : reservoir,
props['head'] = head 'head' : head }
return set_reservoir(network, reservoir, props) return set_reservoir(network, reservoir, ps)
@app.post("/setreservoirpattern/") @app.post("/setreservoirpattern/")
async def fastapi_set_reservoir_pattern(network: str, reservoir: str, pattern: str) -> ChangeSet: async def fastapi_set_reservoir_pattern(network: str, reservoir: str, pattern: str) -> ChangeSet:
props = {} ps = { 'id' : reservoir,
props['pattern'] = pattern 'pattern' : pattern }
return set_reservoir(network, reservoir, props) return set_reservoir(network, reservoir, ps)
@app.post("/setreservoirx/") @app.post("/setreservoirx/")
async def fastapi_set_reservoir_x(network: str, reservoir: str, x: float) -> ChangeSet: async def fastapi_set_reservoir_x(network: str, reservoir: str, x: float) -> ChangeSet:
props = {} ps = { 'id' : reservoir,
props['x'] = x 'x' : x }
return set_reservoir(network, reservoir, props) return set_reservoir(network, reservoir, ps)
@app.post("/setreservoirx/") @app.post("/setreservoirx/")
async def fastapi_set_reservoir_y(network: str, reservoir: str, y: float) -> ChangeSet: async def fastapi_set_reservoir_y(network: str, reservoir: str, y: float) -> ChangeSet:
props = {} ps = { 'id' : reservoir,
props['y'] = y 'y' : y }
return set_reservoir(network, reservoir, props) return set_reservoir(network, reservoir, ps)
@app.post("/setreservoircoord/") @app.post("/setreservoircoord/")
async def fastapi_set_reservoir_y(network: str, reservoir: str, x: float, y: float) -> ChangeSet: async def fastapi_set_reservoir_y(network: str, reservoir: str, x: float, y: float) -> ChangeSet:
props = {} ps = { 'id' : reservoir,
props['x'] = x 'x' : x,
props['y'] = y 'y' : y }
return set_reservoir(network, reservoir, props) return set_reservoir(network, reservoir, ps)
@app.get("/getreservoirproperties/") @app.get("/getreservoirproperties/")
async def fastapi_get_reservoir_properties(network: str, reservoir: str) -> dict[str, Any]: async def fastapi_get_reservoir_properties(network: str, reservoir: str) -> dict[str, Any]:
@@ -341,7 +350,8 @@ async def fastapi_get_reservoir_properties(network: str, reservoir: str) -> dict
@app.post("/setreservoirproperties/") @app.post("/setreservoirproperties/")
async def fastapi_set_reservoir_properties(network: str, reservoir: str, props: dict[str, Any]) -> ChangeSet: async def fastapi_set_reservoir_properties(network: str, reservoir: str, props: dict[str, Any]) -> ChangeSet:
return set_reservoir(network, reservoir, props) ps = { 'id' : reservoir } | props
return set_reservoir(network, ChangeSet(ps))
############################################################ ############################################################
@@ -357,7 +367,8 @@ async def fastapi_add_tank(network: str, tank: str, x: float, y: float, elevatio
@app.post("/deletetank/") @app.post("/deletetank/")
async def fastapi_delete_tank(network: str, tank: str) -> ChangeSet: async def fastapi_delete_tank(network: str, tank: str) -> ChangeSet:
return delete_tank(network, tank) ps = { 'id' : tank }
return delete_tank(network, ChangeSet(ps))
@app.get("/gettankelevation/") @app.get("/gettankelevation/")
async def fastapi_get_tank_elevation(network: str, tank: str) -> float | None: async def fastapi_get_tank_elevation(network: str, tank: str) -> float | None:
@@ -412,75 +423,76 @@ async def fastapi_get_tank_x(network: str, tank: str) -> float:
@app.get("/gettankcoord/") @app.get("/gettankcoord/")
async def fastapi_get_tank_coord(network: str, tank: str) -> dict[str, float]: async def fastapi_get_tank_coord(network: str, tank: str) -> dict[str, float]:
ps = get_tank(network, tank) ps = get_tank(network, tank)
coord = { 'x' : ps['x'], 'y' : ps['y']} coord = { 'x' : ps['x'],
'y' : ps['y'] }
return coord return coord
@app.post("/settankelevation/") @app.post("/settankelevation/")
async def fastapi_set_tank_elevation(network: str, tank: str, elevation: float) -> ChangeSet: async def fastapi_set_tank_elevation(network: str, tank: str, elevation: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['elevation'] = elevation 'elevation' : elevation }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankinitlevel/") @app.post("/settankinitlevel/")
async def fastapi_set_tank_init_level(network: str, tank: str, init_level: float) -> ChangeSet: async def fastapi_set_tank_init_level(network: str, tank: str, init_level: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['init_level'] = init_level 'init_level' : init_level }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankminlevel/") @app.post("/settankminlevel/")
async def fastapi_set_tank_min_level(network: str, tank: str, min_level: float) -> ChangeSet: async def fastapi_set_tank_min_level(network: str, tank: str, min_level: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['min_level'] = min_level 'min_level' : min_level }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankmaxlevel/") @app.post("/settankmaxlevel/")
async def fastapi_set_tank_max_level(network: str, tank: str, max_level: float) -> ChangeSet: async def fastapi_set_tank_max_level(network: str, tank: str, max_level: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['max_level'] = max_level 'max_level' : max_level }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("settankdiameter//") @app.post("settankdiameter//")
async def fastapi_set_tank_diameter(network: str, tank: str, diameter: float) -> ChangeSet: async def fastapi_set_tank_diameter(network: str, tank: str, diameter: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['diameter'] = diameter 'diameter' : diameter }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankminvol/") @app.post("/settankminvol/")
async def fastapi_set_tank_min_vol(network: str, tank: str, min_vol: float) -> ChangeSet: async def fastapi_set_tank_min_vol(network: str, tank: str, min_vol: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['min_vol'] = min_vol 'min_vol' : min_vol }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankvolcurve/") @app.post("/settankvolcurve/")
async def fastapi_set_tank_vol_curve(network: str, tank: str, vol_curve: str) -> ChangeSet: async def fastapi_set_tank_vol_curve(network: str, tank: str, vol_curve: str) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['vol_curve'] = vol_curve 'vol_curve' : vol_curve}
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankoverflow/") @app.post("/settankoverflow/")
async def fastapi_set_tank_overflow(network: str, tank: str, overflow: str) -> ChangeSet: async def fastapi_set_tank_overflow(network: str, tank: str, overflow: str) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['overflow'] = overflow 'overflow' : overflow }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankx/") @app.post("/settankx/")
async def fastapi_set_tank_x(network: str, tank: str, x: float) -> ChangeSet: async def fastapi_set_tank_x(network: str, tank: str, x: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['x'] = x 'x' : x }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settanky/") @app.post("/settanky/")
async def fastapi_set_tank_y(network: str, tank: str, y: float) -> ChangeSet: async def fastapi_set_tank_y(network: str, tank: str, y: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['y'] = y 'y' : y }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.post("/settankcoord/") @app.post("/settankcoord/")
async def fastapi_set_tank_coord(network: str, tank: str, x: float, y: float) -> ChangeSet: async def fastapi_set_tank_coord(network: str, tank: str, x: float, y: float) -> ChangeSet:
props = {} ps = { 'id' : tank,
props['x'] = x 'x' : x,
props['y'] = y 'y' : y }
return set_tank(network, tank, props) return set_tank(network, ChangeSet(ps))
@app.get("/gettankproperties/") @app.get("/gettankproperties/")
async def fastapi_get_tank_properties(network: str, tank: str) -> dict[str, Any]: async def fastapi_get_tank_properties(network: str, tank: str) -> dict[str, Any]:
@@ -488,7 +500,8 @@ async def fastapi_get_tank_properties(network: str, tank: str) -> dict[str, Any]
@app.post("/settankproperties/") @app.post("/settankproperties/")
async def fastapi_set_tank_properties(network: str, tank: str, props: dict[str, Any]) -> ChangeSet: async def fastapi_set_tank_properties(network: str, tank: str, props: dict[str, Any]) -> ChangeSet:
return set_tank(network, tank, props) ps = { 'id' : tank } | props
return set_tank(network, ChangeSet(ps))
############################################################ ############################################################
@@ -500,16 +513,15 @@ async def fast_get_pipe_schema(network: str) -> dict[str, dict[str, Any]]:
@app.post("/addpipe/") @app.post("/addpipe/")
async def fastapi_add_pipe(network: str, pipe: str, node1: str, node2: str, length: float = 0, diameter: float = 0, roughness: float = 0, minorloss: float = 0, status: str = PIPE_STATUS_OPEN) -> ChangeSet: async def fastapi_add_pipe(network: str, pipe: str, node1: str, node2: str, length: float = 0, diameter: float = 0, roughness: float = 0, minorloss: float = 0, status: str = PIPE_STATUS_OPEN) -> ChangeSet:
props : dict[str, any] = {} ps = { 'id' : pipe,
props['id'] = pipe 'node1' : node1,
props['node1'] = node1 'node2' : node2,
props['node2'] = node2 'length' : length,
props['length'] = length 'diameter' : diameter,
props['diameter'] = diameter 'roughness' : roughness,
props['roughness'] = roughness 'minor_loss' : minorloss,
props['minor_loss'] = minorloss 'status' : status }
props['status'] = status return add_pipe(network, ChangeSet(ps))
return add_pipe(network, ChangeSet(props))
@app.post("/deletepipe/") @app.post("/deletepipe/")
async def fastapi_delete_pipe(network: str, pipe: str) -> ChangeSet: async def fastapi_delete_pipe(network: str, pipe: str) -> ChangeSet:
@@ -553,43 +565,45 @@ async def fastapi_get_pipe_status(network: str, pipe: str) -> str | None:
@app.post("/setpipenode1/") @app.post("/setpipenode1/")
async def fastapi_set_pipe_node1(network: str, pipe: str, node1: str) -> ChangeSet: async def fastapi_set_pipe_node1(network: str, pipe: str, node1: str) -> ChangeSet:
ps = get_pipe(network, pipe) ps = { 'id' : pipe,
return ps['node1'] 'node1' : node1 }
return set_pipe(network, ChangeSet(ps))
@app.post("/setpipenode2/") @app.post("/setpipenode2/")
async def fastapi_set_pipe_node2(network: str, pipe: str, node2: str) -> ChangeSet: async def fastapi_set_pipe_node2(network: str, pipe: str, node2: str) -> ChangeSet:
ps = get_pipe(network, pipe) ps = { 'id' : pipe,
return ps['node2'] 'node2' : node2 }
return set_pipe(network, ChangeSet(ps))
@app.post("/setpipelength/") @app.post("/setpipelength/")
async def fastapi_set_pipe_length(network: str, pipe: str, length: float) -> ChangeSet: async def fastapi_set_pipe_length(network: str, pipe: str, length: float) -> ChangeSet:
props = {} ps = { 'id' : pipe,
props['length'] = length 'length' : length }
return set_pipe(network, pipe, props) return set_pipe(network, ChangeSet(ps))
@app.post("/setpipediameter/") @app.post("/setpipediameter/")
async def fastapi_set_pipe_diameter(network: str, pipe: str, diameter: float) -> ChangeSet: async def fastapi_set_pipe_diameter(network: str, pipe: str, diameter: float) -> ChangeSet:
props = {} ps = { 'id' : pipe,
props['diameter'] = diameter 'diameter' : diameter }
return set_pipe(network, pipe, props) return set_pipe(network, ChangeSet(ps))
@app.post("/setpiperoughness/") @app.post("/setpiperoughness/")
async def fastapi_set_pipe_roughness(network: str, pipe: str, roughness: float) -> ChangeSet: async def fastapi_set_pipe_roughness(network: str, pipe: str, roughness: float) -> ChangeSet:
props = {} ps = { 'id' : pipe,
props['roughness'] = roughness 'roughness' : roughness }
return set_pipe(network, pipe, props) return set_pipe(network, ChangeSet(ps))
@app.post("/setpipeminorloss/") @app.post("/setpipeminorloss/")
async def fastapi_set_pipe_minor_loss(network: str, pipe: str, minor_loss: float) -> ChangeSet: async def fastapi_set_pipe_minor_loss(network: str, pipe: str, minor_loss: float) -> ChangeSet:
props = {} ps = { 'id' : pipe,
props['minor_loss'] = minor_loss 'minor_loss' : minor_loss }
return set_pipe(network, pipe, props) return set_pipe(network, ChangeSet(ps))
@app.post("/setpipestatus/") @app.post("/setpipestatus/")
async def fastapi_set_pipe_status(network: str, pipe: str, status: float) -> ChangeSet: async def fastapi_set_pipe_status(network: str, pipe: str, status: float) -> ChangeSet:
props = {} ps = { 'id' : pipe,
props['status'] = status 'status' : status }
return set_pipe(network, pipe, props) return set_pipe(network, ChangeSet(ps))
@app.get("/getpipeproperties/") @app.get("/getpipeproperties/")
async def fastapi_get_pipe_properties(network: str, pipe: str) -> dict[str, Any]: async def fastapi_get_pipe_properties(network: str, pipe: str) -> dict[str, Any]:
@@ -597,7 +611,8 @@ async def fastapi_get_pipe_properties(network: str, pipe: str) -> dict[str, Any]
@app.post("/setpipeproperties/") @app.post("/setpipeproperties/")
async def fastapi_set_pipe_properties(network: str, pipe: str, props: dict[str, Any]) -> ChangeSet: async def fastapi_set_pipe_properties(network: str, pipe: str, props: dict[str, Any]) -> ChangeSet:
return set_pipe(network, pipe, props) ps = { 'id' : pipe } | props
return set_pipe(network, ChangeSet(ps))
############################################################ ############################################################
@@ -609,16 +624,15 @@ async def fast_get_pump_schema(network: str) -> dict[str, dict[str, Any]]:
@app.post("/addpump/") @app.post("/addpump/")
async def fastapi_add_pump(network: str, pump: str, node1: str, node2: str) -> ChangeSet: async def fastapi_add_pump(network: str, pump: str, node1: str, node2: str) -> ChangeSet:
props: dict[str, any] = { ps = { 'id' : pump,
'id' : pump, 'node1' : node1,
'node1' : node1, 'node2' : node2 }
'node2' : node2 return add_pump(network, ChangeSet(ps))
}
return add_pump(network, ChangeSet(props))
@app.post("/deletepump/") @app.post("/deletepump/")
async def fastapi_delete_pump(network: str, pump: str) -> ChangeSet: async def fastapi_delete_pump(network: str, pump: str) -> ChangeSet:
return delete_pump(network, pump) ps = { 'id' : pump }
return delete_pump(network, ChangeSet(ps))
@app.get("/getpumpnode1/") @app.get("/getpumpnode1/")
async def fastapi_get_pump_node1(network: str, pump: str) -> str | None: async def fastapi_get_pump_node1(network: str, pump: str) -> str | None:
@@ -632,15 +646,15 @@ async def fastapi_get_pump_node2(network: str, pump: str) -> str | None:
@app.post("/setpumpnode1/") @app.post("/setpumpnode1/")
async def fastapi_set_pump_node1(network: str, pump: str, node1: str) -> ChangeSet: async def fastapi_set_pump_node1(network: str, pump: str, node1: str) -> ChangeSet:
props = {} ps = { 'id' : pump,
props['node1'] = node1 'node1' : node1 }
return set_pump(network, pump, props) return set_pump(network, ChangeSet(ps))
@app.post("/setpumpnode2/") @app.post("/setpumpnode2/")
async def fastapi_set_pump_node2(network: str, pump: str, node2: str) -> ChangeSet: async def fastapi_set_pump_node2(network: str, pump: str, node2: str) -> ChangeSet:
props = {} ps = { 'id' : pump,
props['node2'] = node2 'node2' : node2 }
return set_pump(network, pump, props) return set_pump(network, ChangeSet(ps))
@app.get("/getpumpproperties/") @app.get("/getpumpproperties/")
async def fastapi_get_pump_properties(network: str, pump: str) -> dict[str, Any]: async def fastapi_get_pump_properties(network: str, pump: str) -> dict[str, Any]:
@@ -648,7 +662,8 @@ async def fastapi_get_pump_properties(network: str, pump: str) -> dict[str, Any]
@app.post("/setpumpproperties/") @app.post("/setpumpproperties/")
async def fastapi_set_pump_properties(network: str, pump: str, props: dict[str, Any]) -> ChangeSet: async def fastapi_set_pump_properties(network: str, pump: str, props: dict[str, Any]) -> ChangeSet:
return set_pump(network, pump, props) ps = { 'id' : pump } | props
return set_pump(network, ChangeSet(ps))
############################################################ ############################################################
@@ -664,7 +679,8 @@ async def fastapi_add_valve(network: str, valve: str, node1: str, node2: str, di
@app.post("/deletevalve/") @app.post("/deletevalve/")
async def fastapi_delete_valve(network: str, valve: str) -> ChangeSet: async def fastapi_delete_valve(network: str, valve: str) -> ChangeSet:
return delete_valve(network, valve) ps = { 'id' : valve }
return delete_valve(network, ChangeSet(ps))
@app.get("/getvalvenode1/") @app.get("/getvalvenode1/")
async def fastapi_get_valve_node1(network: str, valve: str) -> str | None: async def fastapi_get_valve_node1(network: str, valve: str) -> str | None:
@@ -698,33 +714,33 @@ async def fastapi_get_valve_minor_loss(network: str, valve: str) -> float | None
@app.post("/setvalvenode1/") @app.post("/setvalvenode1/")
async def fastapi_set_valve_node1(network: str, valve: str, node1: str) -> ChangeSet: async def fastapi_set_valve_node1(network: str, valve: str, node1: str) -> ChangeSet:
props = {} ps = { 'id' : valve,
props['node1'] = node1 'node1' : node1 }
return set_valve(network, valve, props) return set_valve(network, ChangeSet(ps))
@app.post("/setvalvenode2/") @app.post("/setvalvenode2/")
async def fastapi_set_valve_node2(network: str, valve: str, node2: str) -> ChangeSet: async def fastapi_set_valve_node2(network: str, valve: str, node2: str) -> ChangeSet:
props = {} ps = { 'id' : valve,
props['node2'] = node2 'node2' : node2 }
return set_valve(network, valve, props) return set_valve(network, ChangeSet(ps))
@app.post("/setvalvenodediameter/") @app.post("/setvalvenodediameter/")
async def fastapi_set_valve_diameter(network: str, valve: str, diameter: float) -> ChangeSet: async def fastapi_set_valve_diameter(network: str, valve: str, diameter: float) -> ChangeSet:
props = {} ps = { 'id' : valve,
props['diameter'] = diameter 'diameter' : diameter }
return set_valve(network, valve, props) return set_valve(network, ChangeSet(ps))
@app.post("/setvalvetype/") @app.post("/setvalvetype/")
async def fastapi_set_valve_type(network: str, valve: str, type: str) -> ChangeSet: async def fastapi_set_valve_type(network: str, valve: str, type: str) -> ChangeSet:
props = {} ps = { 'id' : valve,
props['type'] = type 'type' : type }
return set_valve(network, valve, props) return set_valve(network, ChangeSet(ps))
@app.post("/setvalvesetting/") @app.post("/setvalvesetting/")
async def fastapi_set_valve_setting(network: str, valve: str, setting: float) -> ChangeSet: async def fastapi_set_valve_setting(network: str, valve: str, setting: float) -> ChangeSet:
props = {} ps = { 'id' : valve,
props['setting'] = setting 'setting' : setting }
return set_valve(network, valve, props) return set_valve(network, ChangeSet(ps))
@app.get("/getvalveproperties/") @app.get("/getvalveproperties/")
async def fastapi_get_valve_properties(network: str, valve: str) -> dict[str, Any]: async def fastapi_get_valve_properties(network: str, valve: str) -> dict[str, Any]:
@@ -732,7 +748,8 @@ async def fastapi_get_valve_properties(network: str, valve: str) -> dict[str, An
@app.post("/setvalveproperties/") @app.post("/setvalveproperties/")
async def fastapi_set_valve_properties(network: str, valve: str, props: dict[str, Any]) -> ChangeSet: async def fastapi_set_valve_properties(network: str, valve: str, props: dict[str, Any]) -> ChangeSet:
return set_valve(network, valve, props) ps = { 'id' : valve } | props
return set_valve(network, ChangeSet(ps))