import json import sqlite3 def buildSave(action, outputs): if hasattr(action, "savedata"): save_data = {} for save_name in action.savedata: save_data[save_name] = outputs[save_name] with open(f"{action.savepath}", "w") as save_file: json.dump(save_data, save_file) print(f"Data saved by {action.name} to {action.savepath}") database = sqlite3.connect("savedata/rmmanager.db") for key, value in save_data.items(): database.execute(""" CREATE TABLE IF NOT EXISTS output_test ( dictionary TEXT PRIMARY KEY, value TEXT NOT NULL ) """) database.execute(""" INSERT INTO output_test(dictionary, value) VALUES (?, ?) ON CONFLICT (dictionary) DO UPDATE SET value = excluded.value """, (key, value) ) database.commit() database.close() return outputs def loadSave(action, outputs): if hasattr(action, "loaddata"): with open(f"{action.savepath}", "r") as save_file: load_data = json.load(save_file) for load_name in action.loaddata: outputs[load_name] = load_data[load_name] print(f"Data loaded by {action.name} from {action.savepath}") return outputs def buildSave2(action, outputs): database.execute(""" CREATE TABLE IF NOT EXISTS message_mapping ( rmass_message_id INTEGER PRIMARY KEY, matrix_event_id TEXT NOT NULL UNIQUE ) """) database = sqlite3.connect("rmmanager.db") database.execute( "INSERT INTO message_mapping VALUES (?, ?)", (action.savedata[savename], outputs["event_id"]) ) database.commit() database.close()