From 5dea49a8b94f286e956390c884cd34395d6f6043 Mon Sep 17 00:00:00 2001 From: Joe Robinson Date: Wed, 10 Feb 2016 19:47:32 +0000 Subject: Update convert script to fix null dictionary_ids for wordnet definitions --- convert.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'convert.py') diff --git a/convert.py b/convert.py index ab5b35d..b0354fa 100755 --- a/convert.py +++ b/convert.py @@ -4,6 +4,7 @@ import MySQLdb as mysql import sqlite3 import sys +import os.path from definition import Definition def create(): @@ -72,6 +73,9 @@ def insert_wn(rows): sys.exit(1) def get_db_version(): + if not os.path.exists('dictionaries/wordnet.db'): + return 0 + try: con = sqlite3.connect('dictionaries/wordnet.db'); @@ -81,7 +85,7 @@ def get_db_version(): # Check if info table exists at all, if not then version 0 cur.execute("SELECT count(name) FROM sqlite_master WHERE type='table' AND name='info'") row = cur.fetchone() - if row[0] == 0: + if row[0] == None: return 0 else: cur.execute("SELECT value FROM info WHERE key = 'version'") @@ -113,6 +117,10 @@ def update_db(version): cur.execute("CREATE TABLE definition_categories (id integer primary key not null, definition_id int, category_id int)") cur.execute("UPDATE info set value = 2 where key = 'version'") + if version < 3: + cur.execute("UPDATE definitions SET dictionary_id = 1 WHERE dictionary_id is null") + cur.execute("UPDATE info set value = 3 where key = 'version'") + except sqlite3.Error, e: print "Database Error %s" % (e.args[0]) sys.exit(1) @@ -276,10 +284,11 @@ def main(): version = get_db_version() - # if version == 0: - # create() - # items = select_wn() - # insert(items) + if version == 0: + create() + items = select_wn() + insert_wn(items) + version = 1 update_db(version) parse_foldoc() -- cgit v1.2.3