aboutsummaryrefslogtreecommitdiff
path: root/backend/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/server.py')
-rwxr-xr-xbackend/server.py36
1 files changed, 20 insertions, 16 deletions
diff --git a/backend/server.py b/backend/server.py
index 8e4a90f..f0292aa 100755
--- a/backend/server.py
+++ b/backend/server.py
@@ -28,25 +28,31 @@ dbCon.enable_load_extension(True)
dbCon.load_extension('./data/spellfix')
# Some functions
def lookupNodes(names):
+ # Get node info
nodeObjs = {}
cur = dbCon.cursor()
- # Get node info
- query = "SELECT name, children, parent, tips, p_support FROM nodes WHERE" \
- " name IN ({})".format(",".join(["?"] * len(names)))
- namesForImgs = []
- firstSubnames = {}
- secondSubnames = {}
- for row in cur.execute(query, names):
- name = row[0]
- nodeObj = {
- "children": json.loads(row[1]),
- "parent": None if row[2] == "" else row[2],
- "tips": row[3],
- "pSupport": True if row[4] == 1 else False,
+ query = "SELECT name, tips from nodes WHERE name IN ({})".format(",".join(["?"] * len(names)))
+ for (nodeName, tips) in cur.execute(query, names):
+ nodeObjs[nodeName] = {
+ "children": [],
+ "parent": None,
+ "tips": tips,
+ "pSupport": False,
"commonName": None,
"imgName": None,
}
- # Check for image file
+ query = "SELECT node, child FROM edges WHERE node IN ({})".format(",".join(["?"] * len(names)))
+ for (nodeName, childName) in cur.execute(query, names):
+ nodeObjs[nodeName]["children"].append(childName)
+ query = "SELECT node, child, p_support FROM edges WHERE child IN ({})".format(",".join(["?"] * len(names)))
+ for (nodeName, childName, pSupport) in cur.execute(query, names):
+ nodeObjs[childName]["parent"] = nodeName
+ nodeObjs[childName]["pSupport"] = pSupport
+ # Get names for image files
+ namesForImgs = []
+ firstSubnames = {}
+ secondSubnames = {}
+ for (name, nodeObj) in nodeObjs.items():
match = re.fullmatch(r"\[(.+) \+ (.+)]", name)
if match == None:
namesForImgs.append(name)
@@ -56,8 +62,6 @@ def lookupNodes(names):
namesForImgs.extend([name1, name2])
firstSubnames[name1] = name
secondSubnames[name2] = name
- # Add node object
- nodeObjs[name] = nodeObj
# Get image names
query = "SELECT name, id FROM eol_ids WHERE" \
" name IN ({})".format(",".join(["?"] * len(namesForImgs)))