import sys import json def sqlformat(x): if (x is None): return "NULL" elif (type(x) == str): return ("'%s'" % x.replace("'", "\\'")) else: return str(x) def lastid(tablename): return ("(SELECT id FROM %s ORDER BY id DESC LIMIT 1)" % (tablename)) def main(): data = json.loads(sys.stdin.read()) print(len(data)) return for entry in data[324:]: query = "" query += ("INSERT INTO\n\tconcepts(type,description)\nVALUES\n\t(%s,%s)\n;\n" % (sqlformat(entry["type"]), sqlformat(entry["description"]))) concept_id = lastid("concepts") for (iso_639_2,lemmata) in list(entry["translations"].items()): for lemma in lemmata: query += ("INSERT INTO\n\twords(language_id,lemma,pronunciation)\nVALUES\n\t((SELECT id FROM languages WHERE iso_639_2=%s),%s,%s)\n;\n" % (sqlformat(iso_639_2), sqlformat(lemma), sqlformat(None))) word_id = lastid("words") strength = None query += ("INSERT INTO\n\tcorrelations(concept_id,word_id,strength)\nVALUES\n\t(%s,%s,%s)\n;\n" % (concept_id, word_id, sqlformat(strength))) for tag in entry["tags"]: query += ("INSERT INTO tags(concept_id,tag) VALUES (%s,%s);\n" % (concept_id, sqlformat(tag))) query += "--\n" sys.stdout.write(query) main()