Support to get all tags

This commit is contained in:
WQY\qiong
2023-04-05 23:39:07 +08:00
parent 5f64439f9f
commit b0c90fcc07
4 changed files with 35 additions and 3 deletions

View File

@@ -53,7 +53,7 @@ from .s7_valves import get_valve_schema, add_valve, get_valve, set_valve
from .del_cmd import delete_valve_cascade
from .s8_tags import TAG_TYPE_NODE, TAG_TYPE_LINK
from .s8_tags import get_tag_schema, get_tag, set_tag
from .s8_tags import get_tag_schema, get_tags, get_tag, set_tag
from .s9_demands import get_demand_schema, get_demand, set_demand

View File

@@ -9,14 +9,25 @@ def get_tag_schema(name: str) -> dict[str, dict[str, Any]]:
'tag' : {'type': 'str' , 'optional': True , 'readonly': False},}
def get_tags(name: str) -> list[dict[str, Any]]:
results: list[dict[str, Any]] = []
rows = read_all(name, f"select * from tags_node")
for row in rows:
tag = str(row['tag']) if row['tag'] != None else None
results.append({ 't_type': TAG_TYPE_NODE, 'id': str(row['id']), 'tag': tag })
rows = read_all(name, f"select * from tags_link")
for row in rows:
tag = str(row['tag']) if row['tag'] != None else None
results.append({ 't_type': TAG_TYPE_LINK, 'id': str(row['id']), 'tag': tag })
return results
def get_tag(name: str, t_type: str, id: str) -> dict[str, Any]:
t = None
if t_type == TAG_TYPE_NODE:
t = try_read(name, f"select * from tags_node where id = '{id}'")
elif t_type == TAG_TYPE_LINK:
t = try_read(name, f"select * from tags_link where id = '{id}'")
else:
raise Exception('Only support NODE and Link')
if t == None:
return { 't_type': t_type, 'id': id, 'tag': None }
d = {}