#188: Fixed app sdk value within string

This commit is contained in:
frikky
2020-10-26 11:13:44 +01:00
parent 4b784dfc11
commit 63e5d82637
2 changed files with 34 additions and 13 deletions
+33 -12
View File
@@ -460,23 +460,44 @@ class AppBase:
# Returns a string if the result is single, or a list if it's a list # Returns a string if the result is single, or a list if it's a list
def get_json_value(execution_data, input_data): def get_json_value(execution_data, input_data):
parsersplit = input_data.split(".") parsersplit = input_data.split(".")
actionname = parsersplit[0][1:].replace(" ", "_", -1) actionname_lower = parsersplit[0][1:].lower()
#Actionname: Start_node #Actionname: Start_node
print(f"Actionname: {actionname}") print(f"Actionname: {actionname}")
# 1. Find the action # 1. Find the action
baseresult = "" baseresult = ""
actionname_lower = actionname.lower()
appendresult = ""
print("Parsersplit length: %d" % len(parsersplit))
if (actionname_lower.startswith("exec ") or actionname_lower.startswith("webhook ") or actionname_lower.startswith("schedule ") or actionname_lower.startswith("userinput ") or actionname_lower.startswith("email_trigger ") or actionname_lower.startswith("trigger ")) and len(parsersplit) == 1:
record = False
for char in actionname_lower:
if char == " ":
record = True
if record:
appendresult += char
actionname_lower = "exec"
actionname_lower = actionname_lower.replace(" ", "_", -1)
try: try:
if actionname_lower == "exec" or actionname_lower == "webhook" or actionname_lower == "schedule" or actionname_lower == "userinput" or actionname_lower == "email_trigger" or actionname_lower == "trigger": if actionname_lower == "exec" or actionname_lower == "webhook" or actionname_lower == "schedule" or actionname_lower == "userinput" or actionname_lower == "email_trigger" or actionname_lower == "trigger":
baseresult = execution_data["execution_argument"] baseresult = execution_data["execution_argument"]
else: else:
for result in execution_data["results"]: #print("Within execution data check. Execution data: %s", execution_data["results"])
resultlabel = result["action"]["label"].replace(" ", "_", -1).lower() if execution_data["results"] != None:
if resultlabel.lower() == actionname_lower: for result in execution_data["results"]:
baseresult = result["result"] resultlabel = result["action"]["label"].replace(" ", "_", -1).lower()
break if resultlabel.lower() == actionname_lower:
baseresult = result["result"]
break
else:
print("No results to get values from.")
baseresult = "$" + parsersplit[0][1:]
print("BEFORE VARIABLES!") print("BEFORE VARIABLES!")
if len(baseresult) == 0: if len(baseresult) == 0:
@@ -518,17 +539,17 @@ class AppBase:
# 2. Find the JSON data # 2. Find the JSON data
if len(baseresult) == 0: if len(baseresult) == 0:
return "", False return ""+appendresult, False
if len(parsersplit) == 1: if len(parsersplit) == 1:
return baseresult, False return baseresult+appendresult, False
baseresult = baseresult.replace("\'", "\"") baseresult = baseresult.replace("\'", "\"")
basejson = {} basejson = {}
try: try:
basejson = json.loads(baseresult) basejson = json.loads(baseresult)
except json.decoder.JSONDecodeError as e: except json.decoder.JSONDecodeError as e:
return baseresult, False return baseresult+appendresult, False
data, is_loop = recurse_json(basejson, parsersplit[1:]) data, is_loop = recurse_json(basejson, parsersplit[1:])
parseditem = data parseditem = data
@@ -542,7 +563,7 @@ class AppBase:
print("SET DATA WRAPPER TO %s!" % parsersplit[-1]) print("SET DATA WRAPPER TO %s!" % parsersplit[-1])
parseditem = "${%s%s}$" % (parsersplit[-1], json.dumps(data)) parseditem = "${%s%s}$" % (parsersplit[-1], json.dumps(data))
return parseditem, is_loop return parseditem+appendresult, is_loop
# Parses parameters sent to it and returns whether it did it successfully with the values found # Parses parameters sent to it and returns whether it did it successfully with the values found
def parse_params(action, fullexecution, parameter): def parse_params(action, fullexecution, parameter):
+1 -1
View File
@@ -16,7 +16,7 @@ services:
depends_on: depends_on:
- backend - backend
backend: backend:
#build: ./backend build: ./backend
image: frikky/shuffle:backend image: frikky/shuffle:backend
container_name: shuffle-backend container_name: shuffle-backend
hostname: ${BACKEND_HOSTNAME} hostname: ${BACKEND_HOSTNAME}