From 39067cf6182860a7399b1afd751ee958460c1986 Mon Sep 17 00:00:00 2001 From: Zach H Date: Fri, 15 Jul 2016 16:50:58 -0400 Subject: [PATCH] split cards to sets --- sql_to_json.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/sql_to_json.py b/sql_to_json.py index 7b464ad..e11292b 100755 --- a/sql_to_json.py +++ b/sql_to_json.py @@ -16,25 +16,32 @@ def db_to_json(database_connection): database_connection.row_factory = sqlite3.Row # Enable keys for the rows cursor = database_connection.cursor() - cursor.execute(""" SELECT * from cards ORDER BY setCode""") + cursor.execute("SELECT DISTINCT setCode from cards") -# TODO: Figure out how to put them into LEA {cards}, LEB {cards}, ..., SOI {cards} + mainDict = [] returnData = "" rows = cursor.fetchall() - for row in rows: - row = remove_empty_keys(dict_from_row(row)) - dump = json.dumps(row, sort_keys=True) - returnData += dump - + for setCode in rows: + setCode = remove_empty_keys(dict_from_row(setCode)) + cursor.execute("SELECT * FROM cards WHERE setCode = '%s'" % setCode["setCode"]) + card_rows = cursor.fetchall() + + for row in card_rows: + row = remove_empty_keys(dict_from_row(row)) + dump = json.dumps(row, sort_keys=True) + returnData += dump + + mainDict.append([setCode, returnData]) + returnData = "" database_connection.close() - return returnData + return str(mainDict) def main(): d = os.path.join(os.path.expanduser(input("Location of database: ")), "Magic DB.db") d = sqlite3.connect(d) - + xml = os.path.join(os.path.expanduser(input("Location of save file: ")), "Output.json") - + json_code = db_to_json(d) writeFile = open(xml, 'w')