Updated select module and refined message retrieval process in RMASS definitions

This commit is contained in:
Lyncoln
2026-10-16 17:59:28 -04:00
parent b5e6d4eaea
commit 9f282a4bd8
35 changed files with 296 additions and 75 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+6 -1
View File
@@ -1,10 +1,15 @@
import json
def buildOutput(response, action, outputs):
#if select_data != "not applied":
#response_data = select_data
#else:
#response_data = response.json()
if hasattr(action, "outputs"):
response_data = response.json()
try:
response_data = response.json()
except AttributeError:
response_data = json.loads(response)
response_objects = [response_data]
while response_objects:
+4 -2
View File
@@ -5,12 +5,14 @@ def recursiveSet(definition, outputs):
for item in outputs[definition.recursiveset["source"]]:
outputs[definition.recursiveset["outputlabel"]] = item
#outputs["recursive"] = item
print("DEBUGGING recursiveset item")
print(outputs[definition.recursiveset["outputlabel"]])
for job in recursiveset:
outputs, response = buildAction(job, outputs)
print(outputs["profile"])
print(outputs["messages"])
#print(outputs["profile"])
#print(outputs["messages"])
return outputs
from core.execution.action.action import buildAction
+40
View File
@@ -1,4 +1,5 @@
import json
import sqlite3
def buildSave(action, outputs):
if hasattr(action, "savedata"):
@@ -11,6 +12,27 @@ def buildSave(action, outputs):
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 NOT NULL UNIQUE,
value TEXT NOT NULL UNIQUE
)
""")
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):
@@ -23,3 +45,21 @@ def loadSave(action, outputs):
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()
+7 -3
View File
@@ -24,11 +24,15 @@ def buildSelect(action, outputs):
if include_match and exclude_match:
select_data.append(item)
outputs[action.select["source"]] = select_data
#print(select_data)
#outputs[{action.select["source"]}] = select_data
outputs[action.alias] = select_data
print("DEBUGGING", action.alias)
print(outputs[action.alias])
return select_data, action, outputs
except: (KeyError, TypeError)
except (KeyError, TypeError):
print("Error in selection")
#select_data = ["no selection"]
return select_data, action, outputs