From 1edca6c5b66cb684e551a958d818e4a7f0cfdb3b Mon Sep 17 00:00:00 2001 From: frikky Date: Wed, 19 May 2021 10:10:09 +0200 Subject: [PATCH] Added failsafe for extra parameters --- backend/app_sdk/app_base.py | 45 +++++++++++++++++++++++++++++++++++-- backend/app_sdk/build.sh | 2 +- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/backend/app_sdk/app_base.py b/backend/app_sdk/app_base.py index df4154b2..a2276c31 100644 --- a/backend/app_sdk/app_base.py +++ b/backend/app_sdk/app_base.py @@ -516,7 +516,27 @@ class AppBase: for subparams in param_multiplier: print(f"SUBPARAMS IN MULTI: {subparams}") try: - tmp = await func(**subparams) + #tmp = await func(**subparams) + + while True: + try: + tmp = await func(**subparams) + break + except TypeError as e: + errorstring = "%s" % e + if "got an unexpected keyword argument" in errorstring: + fieldsplit = errorstring.split("'") + if len(fieldsplit) > 1: + field = fieldsplit[1] + + try: + del subparams[field] + print("Removed field invalid field %s" % field) + except KeyError: + break + else: + raise e + except: e = "" try: @@ -2139,7 +2159,28 @@ class AppBase: return print("[INFO] Running normal execution\n") - newres = await func(**params) + + #newres = await func(**params) + while True: + try: + newres = await func(**params) + break + except TypeError as e: + errorstring = "%s" % e + if "got an unexpected keyword argument" in errorstring: + fieldsplit = errorstring.split("'") + if len(fieldsplit) > 1: + field = fieldsplit[1] + + try: + del params[field] + print("Removed field invalid field %s" % field) + except KeyError: + break + else: + raise e + #break + print("\n[INFO] Returned from execution!")#, newres) if isinstance(newres, tuple): print("[INFO] Handling return as tuple") diff --git a/backend/app_sdk/build.sh b/backend/app_sdk/build.sh index 9ae882dc..50a73cf7 100644 --- a/backend/app_sdk/build.sh +++ b/backend/app_sdk/build.sh @@ -1,6 +1,6 @@ #!/bin/bash NAME=shuffle-app_sdk -VERSION=0.8.80 +VERSION=0.8.81 docker rmi docker.pkg.github.com/frikky/shuffle/$NAME:$VERSION --force docker build . -t frikky/shuffle:app_sdk -t frikky/$NAME:$VERSION -t docker.pkg.github.com/frikky/shuffle/$NAME:$VERSION -t ghcr.io/frikky/$NAME:$VERSION