Add methods to get node types
This commit is contained in:
@@ -89,11 +89,54 @@ def _get_all(name: str, base_type: str) -> list[str]:
|
|||||||
def get_nodes(name: str) -> list[str]:
|
def get_nodes(name: str) -> list[str]:
|
||||||
return _get_all(name, _NODE)
|
return _get_all(name, _NODE)
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def _get_nodes_by_type(name: str, type: str) -> list[str]:
|
||||||
|
ids : list[str] = []
|
||||||
|
with conn[name].cursor(row_factory=dict_row) as cur:
|
||||||
|
cur.execute(f"select id from {_NODE} where type = '{type}' order by id")
|
||||||
|
for record in cur:
|
||||||
|
ids.append(record['id'])
|
||||||
|
return ids
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def get_junctions(name: str) -> list[str]:
|
||||||
|
return _get_nodes_by_type(name, JUNCTION)
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def get_reservoir(name: str) -> list[str]:
|
||||||
|
return _get_nodes_by_type(name, RESERVOIR)
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def get_tank(name: str) -> list[str]:
|
||||||
|
return _get_nodes_by_type(name, TANK)
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
def get_links(name: str) -> list[str]:
|
def get_links(name: str) -> list[str]:
|
||||||
return _get_all(name, _LINK)
|
return _get_all(name, _LINK)
|
||||||
|
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def _get_links_by_type(name: str, type: str) -> list[str]:
|
||||||
|
ids : list[str] = []
|
||||||
|
with conn[name].cursor(row_factory=dict_row) as cur:
|
||||||
|
cur.execute(f"select id from {_LINK} where type = '{type}' order by id")
|
||||||
|
for record in cur:
|
||||||
|
ids.append(record['id'])
|
||||||
|
return ids
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def get_pipes(name: str) -> list[str]:
|
||||||
|
return _get_links_by_type(name, PIPE)
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def get_pumps(name: str) -> list[str]:
|
||||||
|
return _get_links_by_type(name, PUMP)
|
||||||
|
|
||||||
|
# DingZQ
|
||||||
|
def get_valves(name: str) -> list[str]:
|
||||||
|
return _get_links_by_type(name, VALVE)
|
||||||
|
|
||||||
|
|
||||||
def get_curves(name: str) -> list[str]:
|
def get_curves(name: str) -> list[str]:
|
||||||
return _get_all(name, _CURVE)
|
return _get_all(name, _CURVE)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user