diff options
| author | Terry Truong <terry06890@gmail.com> | 2022-05-04 01:17:06 +1000 |
|---|---|---|
| committer | Terry Truong <terry06890@gmail.com> | 2022-05-04 01:17:06 +1000 |
| commit | 90a5e15bb824b84e5bb60337d6a57a1394090dc6 (patch) | |
| tree | 661ea356c8d83b74d16f19d3555b0a1d3eb6eb56 /backend/data/genEolNameData.py | |
| parent | ec29e5731136c74a1991e2f93b5e233747f2a230 (diff) | |
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.
Diffstat (limited to 'backend/data/genEolNameData.py')
| -rwxr-xr-x | backend/data/genEolNameData.py | 11 |
1 files changed, 7 insertions, 4 deletions
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() |
