From 90a5e15bb824b84e5bb60337d6a57a1394090dc6 Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Wed, 4 May 2022 01:17:06 +1000 Subject: Add scripts for obtaining/sending/displaying wikipedia descriptions Add backend/data/enwiki/ directory containing scripts and instructive READMEs. Adjust some other scripts to generate 'eol_ids' sqlite table separate from 'names'. Make server respond to /data/desc requests, and have client TileInfo component display response data. Also adjust .gitignore entries to be root-relative. --- backend/data/genEolNameData.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'backend/data/genEolNameData.py') diff --git a/backend/data/genEolNameData.py b/backend/data/genEolNameData.py index 200b459..74d9329 100755 --- a/backend/data/genEolNameData.py +++ b/backend/data/genEolNameData.py @@ -62,8 +62,9 @@ with open(vnamesFile, newline="") as csvfile: # Open db connection dbCon = sqlite3.connect(dbFile) dbCur = dbCon.cursor() -# Create 'names' table -dbCur.execute("CREATE TABLE names(name TEXT, alt_name TEXT, eol_id INT, pref_alt INT, PRIMARY KEY(name, alt_name))") +# Create tables +dbCur.execute("CREATE TABLE names(name TEXT, alt_name TEXT, pref_alt INT, PRIMARY KEY(name, alt_name))") +dbCur.execute("CREATE TABLE eol_ids(id INT PRIMARY KEY, name TEXT)") # Iterate through 'nodes' table, resolving to canonical-names usedPids = set() unresolvedNodeNames = set() @@ -85,11 +86,12 @@ for row in dbCur2.execute("SELECT name FROM nodes"): usedPids.add(pidToUse) altNames = {name} preferredName = pidToPreferred[pidToUse] if (pidToUse in pidToPreferred) else None + dbCur.execute("INSERT INTO eol_ids VALUES (?, ?)", (pidToUse, name)) for n in pidToNames[pidToUse]: altNames.add(n) for n in altNames: isPreferred = 1 if (n == preferredName) else 0 - dbCur.execute("INSERT INTO names VALUES (?, ?, ?, ?)", (name, n, pidToUse, isPreferred)) + dbCur.execute("INSERT INTO names VALUES (?, ?, ?)", (name, n, isPreferred)) elif name in nameToPids: unresolvedNodeNames.add(name) # Iterate through unresolved nodes, resolving to vernacular-names @@ -108,11 +110,12 @@ for name in unresolvedNodeNames: usedPids.add(pidToUse) altNames = {name} preferredName = pidToPreferred[pidToUse] if (pidToUse in pidToPreferred) else None + dbCur.execute("INSERT INTO eol_ids VALUES (?, ?)", (name, pidToUse)) for n in pidToNames[pidToUse]: altNames.add(n) for n in altNames: isPreferred = 1 if (n == preferredName) else 0 - dbCur.execute("INSERT INTO names VALUES (?, ?, ?, ?)", (name, n, pidToUse, isPreferred)) + dbCur.execute("INSERT INTO names VALUES (?, ?, ?)", (name, n, isPreferred)) # Close db dbCon.commit() dbCon.close() -- cgit v1.2.3