From 6f9d45d98234894dad5a7cf2dc5f13f2d6fab627 Mon Sep 17 00:00:00 2001 From: Joey Wang Date: Wed, 22 Mar 2023 13:48:59 +0800 Subject: [PATCH] Run inp should be same with run project --- epanet/epanet.py | 13 ++++++++++--- tjnetwork.py | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/epanet/epanet.py b/epanet/epanet.py index bc297c0..2251ff2 100644 --- a/epanet/epanet.py +++ b/epanet/epanet.py @@ -264,10 +264,14 @@ def run_project(name: str, version: str = '3') -> str: return json.dumps(data) -def run_inp(name: str) -> str: +def run_inp(name: str, version: str = '3') -> str: + if version != '3' and version != '2': + version = '2' + dir = os.path.abspath(os.getcwd()) - exe = os.path.join(os.path.join(dir, 'epanet'), 'runepanet.exe') + program = 'runepanet.exe' if version == '2' else 'run-epanet3.exe' + exe = os.path.join(os.path.join(dir, 'epanet'), program) 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') @@ -280,7 +284,10 @@ def run_inp(name: str) -> str: data['simulation_result'] = 'failed' else: data['simulation_result'] = 'successful' - data |= _dump_output(opt) + if version == '2': + data |= _dump_output(opt) + else: + pass # TODO: epanet3 output format? data['report'] = dump_report(rpt) diff --git a/tjnetwork.py b/tjnetwork.py index 52f9f28..9ce64ad 100644 --- a/tjnetwork.py +++ b/tjnetwork.py @@ -201,8 +201,8 @@ def run_project(name: str, version: str = '3') -> str: return epanet.run_project(name, version) # put in inp folder, name without extension -def run_inp(name: str) -> str: - return epanet.run_inp(name) +def run_inp(name: str, version: str = '3') -> str: + return epanet.run_inp(name, version) # path is absolute path def dump_output(path: str) -> str: