Add API covnertv3tov2
This commit is contained in:
@@ -2,7 +2,8 @@ from .project import list_project, have_project, create_project, delete_project,
|
|||||||
from .project import is_project_open, open_project, close_project
|
from .project import is_project_open, open_project, close_project
|
||||||
from .project import copy_project
|
from .project import copy_project
|
||||||
|
|
||||||
from .inp_in import read_inp, import_inp
|
#DingZQ, 2024-12-28, convert inp v3 to v2
|
||||||
|
from .inp_in import read_inp, import_inp, convert_inp_v3_to_v2
|
||||||
from .inp_out import dump_inp, export_inp
|
from .inp_out import dump_inp, export_inp
|
||||||
|
|
||||||
from .database import API_ADD, API_UPDATE, API_DELETE
|
from .database import API_ADD, API_UPDATE, API_DELETE
|
||||||
|
|||||||
@@ -35,6 +35,9 @@ from .s27_backdrop import inp_in_backdrop
|
|||||||
from .s32_region import inp_in_region,inp_in_bound,inp_in_regionnodes
|
from .s32_region import inp_in_region,inp_in_bound,inp_in_regionnodes
|
||||||
from .s32_region_util import from_postgis_polygon,to_postgis_polygon
|
from .s32_region_util import from_postgis_polygon,to_postgis_polygon
|
||||||
|
|
||||||
|
#DingZQ, 2024-12-28, export inp
|
||||||
|
from .inp_out import export_inp
|
||||||
|
|
||||||
_S = 'S'
|
_S = 'S'
|
||||||
_L = 'L'
|
_L = 'L'
|
||||||
|
|
||||||
@@ -371,6 +374,29 @@ def read_inp(project: str, inp: str, version: str = '3') -> bool:
|
|||||||
close_project(project)
|
close_project(project)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
#DingZQ, 2024-12-28, convert v3 to v2
|
||||||
|
def convert_inp_v3_to_v2(inp: str) -> ChangeSet:
|
||||||
|
project = 'v3Tov2'
|
||||||
|
|
||||||
|
if is_project_open(project):
|
||||||
|
close_project(project)
|
||||||
|
|
||||||
|
if have_project(project):
|
||||||
|
delete_project(project)
|
||||||
|
|
||||||
|
create_project(project)
|
||||||
|
open_project(project)
|
||||||
|
|
||||||
|
parse_file(project, inp, '3')
|
||||||
|
|
||||||
|
'''try:
|
||||||
|
parse_file(project, inp, version)
|
||||||
|
except:
|
||||||
|
close_project(project)
|
||||||
|
delete_project(project)
|
||||||
|
return False'''
|
||||||
|
|
||||||
|
return export_inp(project, '2')
|
||||||
|
|
||||||
def import_inp(project: str, cs: ChangeSet, version: str = '3') -> bool:
|
def import_inp(project: str, cs: ChangeSet, version: str = '3') -> bool:
|
||||||
if version != '3' and version != '2':
|
if version != '3' and version != '2':
|
||||||
|
|||||||
27
main.py
27
main.py
@@ -1819,6 +1819,33 @@ async def download_inp(name: str, response: Response):
|
|||||||
else:
|
else:
|
||||||
response.status_code = status.HTTP_400_BAD_REQUEST
|
response.status_code = status.HTTP_400_BAD_REQUEST
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
# DingZQ, 2024-12-28, convert v3 to v2
|
||||||
|
@app.get("/convertv3tov2/",response_model=None)
|
||||||
|
async def fastapi_convert_v3_to_v2(inp: str) -> ChangeSet:
|
||||||
|
network = 'v3Tov2'
|
||||||
|
cs = convert_inp_v3_to_v2(inp)
|
||||||
|
|
||||||
|
op = cs.operations[0]
|
||||||
|
open_project(network)
|
||||||
|
op['vertex'] = json.dumps(get_all_vertices(network))
|
||||||
|
op['scada'] = json.dumps(get_all_scada_elements(network))
|
||||||
|
op['dma'] = json.dumps(get_all_district_metering_areas(network))
|
||||||
|
op['sa'] = json.dumps(get_all_service_areas(network))
|
||||||
|
op['vd'] = json.dumps(get_all_virtual_districts(network))
|
||||||
|
op['legend'] = get_extension_data(network, 'legend')
|
||||||
|
|
||||||
|
db = get_extension_data(network, 'scada_db')
|
||||||
|
print(db)
|
||||||
|
scada_db = ''
|
||||||
|
if db:
|
||||||
|
scada_db = db
|
||||||
|
print(scada_db)
|
||||||
|
op['scada_db'] = scada_db
|
||||||
|
|
||||||
|
close_project(network)
|
||||||
|
|
||||||
|
return cs
|
||||||
|
|
||||||
@app.get("/getjson/")
|
@app.get("/getjson/")
|
||||||
async def get_json():
|
async def get_json():
|
||||||
|
|||||||
@@ -222,6 +222,9 @@ def run_inp(name: str) -> str:
|
|||||||
def dump_output(path: str) -> str:
|
def dump_output(path: str) -> str:
|
||||||
return epanet.dump_output(path)
|
return epanet.dump_output(path)
|
||||||
|
|
||||||
|
#DingZQ, 2024-12-28, convert inp v3 to v2
|
||||||
|
def convert_inp_v3_to_v2(inp: str) -> ChangeSet:
|
||||||
|
return api.convert_inp_v3_to_v2(inp)
|
||||||
|
|
||||||
############################################################
|
############################################################
|
||||||
# operation
|
# operation
|
||||||
|
|||||||
Reference in New Issue
Block a user