Simulation is v2

This commit is contained in:
WQY\qiong
2023-03-22 22:22:13 +08:00
parent 5e69ada90b
commit e3a7893d29
4 changed files with 11 additions and 25 deletions

View File

@@ -227,21 +227,17 @@ def dump_output(path: str) -> str:
return json.dumps(data)
def run_project(name: str, version: str = '2') -> str:
if version != '3' and version != '2':
version = '2'
def run_project(name: str) -> str:
if not project.have_project(name):
raise Exception(f'Not found project [{name}]')
dir = os.path.abspath(os.getcwd())
db_inp = os.path.join(os.path.join(dir, 'db_inp'), name + '.db.inp')
inp_out.dump_inp(name, db_inp, version)
inp_out.dump_inp(name, db_inp, '2')
input = name + '.db'
program = 'runepanet.exe' if version == '2' else 'run-epanet3.exe'
exe = os.path.join(os.path.join(dir, 'epanet'), program)
exe = os.path.join(os.path.join(dir, 'epanet'), 'runepanet.exe')
inp = os.path.join(os.path.join(dir, 'db_inp'), input + '.inp')
rpt = os.path.join(os.path.join(dir, 'temp'), input + '.rpt')
opt = os.path.join(os.path.join(dir, 'temp'), input + '.opt')
@@ -254,24 +250,17 @@ def run_project(name: str, version: str = '2') -> str:
data['simulation_result'] = 'failed'
else:
data['simulation_result'] = 'successful'
if version == '2':
data |= _dump_output(opt)
else:
pass # TODO: epanet3 output format?
data['report'] = dump_report(rpt)
return json.dumps(data)
def run_inp(name: str, version: str = '2') -> str:
if version != '3' and version != '2':
version = '2'
def run_inp(name: str) -> str:
dir = os.path.abspath(os.getcwd())
program = 'runepanet.exe' if version == '2' else 'run-epanet3.exe'
exe = os.path.join(os.path.join(dir, 'epanet'), program)
exe = os.path.join(os.path.join(dir, 'epanet'), 'runepanet.exe')
inp = os.path.join(os.path.join(dir, 'inp'), name + '.inp')
rpt = os.path.join(os.path.join(dir, 'temp'), name + '.rpt')
opt = os.path.join(os.path.join(dir, 'temp'), name + '.opt')
@@ -284,10 +273,7 @@ def run_inp(name: str, version: str = '2') -> str:
data['simulation_result'] = 'failed'
else:
data['simulation_result'] = 'successful'
if version == '2':
data |= _dump_output(opt)
else:
pass # TODO: epanet3 output format?
data['report'] = dump_report(rpt)

Binary file not shown.

Binary file not shown.

View File

@@ -200,12 +200,12 @@ def import_inp(name: str, cs: ChangeSet, version: str = '3') -> bool:
def export_inp(name: str, version: str = '3') -> ChangeSet:
return api.export_inp(name, version)
def run_project(name: str, version: str = '2') -> str:
return epanet.run_project(name, version)
def run_project(name: str) -> str:
return epanet.run_project(name)
# put in inp folder, name without extension
def run_inp(name: str, version: str = '2') -> str:
return epanet.run_inp(name, version)
def run_inp(name: str) -> str:
return epanet.run_inp(name)
# path is absolute path
def dump_output(path: str) -> str: