From 04e9444746d3ba8ddcc96d0fd16f1c02adce1389 Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Tue, 26 Apr 2022 13:53:46 +1000 Subject: Have tol data in sqlite db, and add server script that accesses it Adapt otol-data-converting script to generate otol.db, add server.py script that provides access to that db, and adapt the app to query the server for tol data when needed. --- data_tol_old/txtTreeToJSON.py | 76 ------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100755 data_tol_old/txtTreeToJSON.py (limited to 'data_tol_old/txtTreeToJSON.py') diff --git a/data_tol_old/txtTreeToJSON.py b/data_tol_old/txtTreeToJSON.py deleted file mode 100755 index 3b77622..0000000 --- a/data_tol_old/txtTreeToJSON.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python3 - -import sys, re - -usageInfo = f"usage: {sys.argv[0]}\n" -usageInfo += "Reads, from stdin, tab-indented lines representing trees, and outputs corresponding JSON.\n" - -if len(sys.argv) > 1: - print(usageInfo, file=sys.stderr) - sys.exit(1) - -lineNum = 0 -trees = [] #each node is a pair holding a name and an array of child nodes -nodeList = [] -while True: - #read line - line = sys.stdin.readline() - if line == "": break - line = line.rstrip() - lineNum += 1 - #create node - match = re.match(r"^\t*", line) - indent = len(match.group()) - newNode = [line[indent:], []] - #add node - if indent == len(nodeList): #sibling or new tree - if len(nodeList) == 0: - nodeList.append(newNode) - trees.append(newNode) - else: - nodeList[-1] = newNode - if len(nodeList) == 1: - trees[-1][1].append(newNode) - else: - nodeList[-2][1].append(newNode) - elif indent == len(nodeList) + 1: #direct child - if len(nodeList) == 0: - print(f"ERROR: Child without preceding root (line {lineNum})") - sys.exit(1) - nodeList.append(newNode) - nodeList[-2][1].append(newNode) - elif indent < len(nodeList): #ancestor sibling or new tree - nodeList = nodeList[:indent] - if len(nodeList) == 0: - nodeList.append(newNode) - trees.append(newNode) - else: - nodeList[-1] = newNode - if len(nodeList) == 1: - trees[-1][1].append(newNode) - else: - nodeList[-2][1].append(newNode) - else: - print(f"ERROR: Child with invalid relative indent (line {lineNum})") - sys.exit(1) -#print as JSON -if len(trees) > 1: - print("[") -def printNode(node, indent): - if len(node[1]) == 0: - print(indent + "{\"name\": \"" + node[0] + "\"}", end="") - else: - print(indent + "{\"name\": \"" + node[0] + "\", \"children\": [") - for i in range(len(node[1])): - printNode(node[1][i], indent + "\t") - if i < len(node[1])-1: - print(",", end="") - print() - print(indent + "]}", end="") -for i in range(len(trees)): - printNode(trees[i], "") - if i < len(trees)-1: - print(",", end="") - print() -if len(trees) > 1: - print("]") -- cgit v1.2.3