65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
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() |