From 348fcaaf934e9b76643ec5f7d312f7836c5c3ccb Mon Sep 17 00:00:00 2001 From: frikky Date: Sun, 17 Oct 2021 03:26:55 +0200 Subject: [PATCH] Deprecated use of old casting system to push use of Liquid formatting (ok just in betagit status) --- backend/app_sdk/app_base.py | 56 ++++++++++++++++++-------- backend/app_sdk/build.sh | 2 +- frontend/src/defaultCytoscapeStyle.js | 2 + frontend/src/views/AngularWorkflow.jsx | 2 + 4 files changed, 44 insertions(+), 18 deletions(-) diff --git a/backend/app_sdk/app_base.py b/backend/app_sdk/app_base.py index b725ae9f..73ed57e8 100644 --- a/backend/app_sdk/app_base.py +++ b/backend/app_sdk/app_base.py @@ -1147,6 +1147,11 @@ class AppBase: except TypeError: return data, False + # Because liquid can handle ALL of this now. + # Implemented for >0.9.25 + self.logger.info("[DEBUG] Skipping parser because use of its been deprecated >0.9.25 due to Liquid implementation") + return data, False + wrappers = ["int", "number", "lower", "upper", "trim", "strip", "split", "parse", "len", "length", "lenght", "join", "replace"] if not any(wrapper in data for wrapper in wrappers): @@ -1219,7 +1224,7 @@ class AppBase: if isinstance(data, str) and len(data) > 4: if (data[0] == "{" or data[0] == "[") and (data[len(data)-1] == "]" or data[len(data)-1] == "}"): - self.logger.info("Skipping parser because use of {[ and ]}") + self.logger.info("[DEBUG] Skipping parser because use of {[ and ]}") return data newdata = [] @@ -1587,10 +1592,11 @@ class AppBase: # Sending self as it's not a normal function def parse_liquid(template, self): - - #self.logger.info("Inside liquid with glob: %s" % globals()) + + errors = False + error_msg = "" try: - if len(template) > 5000000: + if len(template) > 10000000: self.logger.info("[DEBUG] Skipping liquid - size too big (%d)" % len(template)) return template @@ -1609,21 +1615,37 @@ class AppBase: # Can't handle self yet (?) ret = run.render(**globals()) return ret - #try: - #run = Liquid(template) - #return ret - #except liquid.exceptions.LiquidSyntaxError as e: - # run = Liquid(template, {'mode': 'python'}) - # ret = run.render(**globals()) - # return ret - #except liquid.exceptions.LiquidRenderError as e: - # self.logger.info("Render error: %s" % e) except jinja2.exceptions.TemplateNotFound as e: - self.logger.info("[ERROR] Template error: %s" % e) + self.logger.info(f"[ERROR] Liquid Template error: {e}") + error = True + error_msg = e except jinja2.exceptions.TemplateSyntaxError as e: - self.logger.info("[ERROR] Syntax error: %s" % e) - except: - self.logger.info("[ERROR] General exception for liquid") + self.logger.info(f"[ERROR] Liquid Syntax error: {e}") + error = True + error_msg = e + except Exception as e: + self.logger.info(f"[ERROR] General exception for liquid: {e}") + error = True + error_msg = e + + if error == True: + self.action_result["status"] = "FAILURE" + data = { + "success": False, + "input": template, + "reason": f"Failed to parse LiquidPy: {error_msg}", + } + try: + self.action_result["result"] = json.dumps(data) + except Exception as e: + self.action_result["result"] = f"Failed to parse LiquidPy: {error_msg}" + print("[WARNING] Failed to set LiquidPy result") + + self.action_result["completed_at"] = int(time.time()) + self.send_result(self.action_result, headers, stream_path) + + self.logger.info(f"[ERROR] Sent FAILURE response to backend due to : {e}") + os.exit() return template diff --git a/backend/app_sdk/build.sh b/backend/app_sdk/build.sh index a7518354..ae5e1f56 100644 --- a/backend/app_sdk/build.sh +++ b/backend/app_sdk/build.sh @@ -3,7 +3,7 @@ ### DEFAULT NAME=shuffle-app_sdk -VERSION=0.9.23 +VERSION=0.9.25 docker rmi docker.pkg.github.com/frikky/shuffle/$NAME:$VERSION --force docker build . -f Dockerfile -t frikky/shuffle:app_sdk -t frikky/$NAME:$VERSION -t docker.pkg.github.com/frikky/shuffle/$NAME:$VERSION -t ghcr.io/frikky/$NAME:$VERSION -t ghcr.io/frikky/$NAME:nightly diff --git a/frontend/src/defaultCytoscapeStyle.js b/frontend/src/defaultCytoscapeStyle.js index 48642d60..7f3c84cd 100644 --- a/frontend/src/defaultCytoscapeStyle.js +++ b/frontend/src/defaultCytoscapeStyle.js @@ -14,6 +14,7 @@ const data = [{ 'margin': '5px', 'border-width': '1px', 'text-margin-x': '10px', + 'cursor': 'pointer', } }, { @@ -26,6 +27,7 @@ const data = [{ 'text-margin-y': '-15px', 'width': '5px', "color": "white", + 'cursor': 'pointer', "line-fill": "linear-gradient", "line-gradient-stop-positions": ["0.0", "100"], "line-gradient-stop-colors": ["grey", "grey"], diff --git a/frontend/src/views/AngularWorkflow.jsx b/frontend/src/views/AngularWorkflow.jsx index 78da9dee..f9a0caed 100644 --- a/frontend/src/views/AngularWorkflow.jsx +++ b/frontend/src/views/AngularWorkflow.jsx @@ -887,6 +887,8 @@ const AngularWorkflow = (props) => { //console.log(curworkflowTrigger) newTriggers.push(curworkflowTrigger) + } else { + alert.info("No handler for type: "+type) } } }