From 49bea820b8caa895b1dbe075fce12f29543934a2 Mon Sep 17 00:00:00 2001 From: wqy Date: Fri, 2 Sep 2022 19:01:59 +0800 Subject: [PATCH] Add api to query type --- api/operation.py | 2 +- api/s0_base.py | 18 ++++++++++++++++++ tjnetwork_new.py | 18 ++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/api/operation.py b/api/operation.py index 09bd709..fd7a157 100644 --- a/api/operation.py +++ b/api/operation.py @@ -34,7 +34,7 @@ def _query_redo(name: str, id: str) -> dict[str, str]: cur.execute(f"select redo from operation where id = {id}") return cur.fetchone()['redo'] -def _set_redo_child(name: str, id: str, child:str) -> None: +def _set_redo_child(name: str, id: str, child: str) -> None: with conn[name].cursor() as cur: cur.execute(f"update operation set redo_child = {child} where id = {id}") diff --git a/api/s0_base.py b/api/s0_base.py index 8af8da7..9ee9055 100644 --- a/api/s0_base.py +++ b/api/s0_base.py @@ -78,9 +78,27 @@ def _get_impl(name: str, id: str, table: str) -> dict[str, str]: def get_node(name: str, id: str) -> dict[str, str]: return _get_impl(name, id, _NODE) +def is_junction(name: str, id: str) -> bool: + return get_node(name, id)['type'] == JUNCTION + +def is_reservoir(name: str, id: str) -> bool: + return get_node(name, id)['type'] == RESERVOIR + +def is_tank(name: str, id: str) -> bool: + return get_node(name, id)['type'] == TANK + def get_link(name: str, id: str) -> dict[str, str]: return _get_impl(name, id, _LINK) +def is_pipe(name: str, id: str) -> bool: + return get_link(name, id)['type'] == PIPE + +def is_pump(name: str, id: str) -> bool: + return get_link(name, id)['type'] == PUMP + +def is_valve(name: str, id: str) -> bool: + return get_link(name, id)['type'] == VALVE + def get_curve(name: str, id: str) -> dict[str, str]: return _get_impl(name, id, _CURVE) diff --git a/tjnetwork_new.py b/tjnetwork_new.py index f0ac154..f44aeee 100644 --- a/tjnetwork_new.py +++ b/tjnetwork_new.py @@ -40,6 +40,15 @@ def add_node(name: str, node_id: str, node_type: str) -> None: def have_node(name: str, node_id: str) -> bool: return _0.have_node(name, node_id) +def is_junction(name: str, node_id: str) -> bool: + return _0.is_junction(name, node_id) + +def is_reservoir(name: str, node_id: str) -> bool: + return _0.is_reservoir(name, node_id) + +def is_tank(name: str, node_id: str) -> bool: + return _0.is_tank(name, node_id) + def delete_node(name: str, node_id: str) -> None: return _0.delete_node(name, node_id) @@ -49,6 +58,15 @@ def add_link(name: str, link_id: str, link_type: str) -> None: def have_link(name: str, link_id: str) -> bool: return _0.have_link(name, link_id) +def is_pipe(name: str, link_id: str) -> bool: + return _0.is_pipe(name, link_id) + +def is_pump(name: str, link_id: str) -> bool: + return _0.is_pump(name, link_id) + +def is_valve(name: str, link_id: str) -> bool: + return _0.is_valve(name, link_id) + def delete_link(name: str, link_id: str) -> None: return _0.delete_link(name, link_id)