From 8f93aa947ec772d25d761b3b9a98020384e0007e Mon Sep 17 00:00:00 2001 From: Nils G <nils.gondermann@ruhr-uni-bochum.de> Date: Wed, 22 Apr 2020 11:35:59 +0200 Subject: [PATCH] Split base64 encoding into parameter util --- controllers/game.py | 18 +++++++----------- modules/parameter_util.py | 5 +++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/controllers/game.py b/controllers/game.py index 0f606c9..9ad5559 100644 --- a/controllers/game.py +++ b/controllers/game.py @@ -1,10 +1,8 @@ -from parameter_util import JSON_BODY, JSON_CONTAINS +from parameter_util import JSON_BODY, JSON_CONTAINS, JSON_TO_B64 from http_util import FAIL, CODE_JSON, CODE_MISSING, CODE_SEMANTIC, CODE_GONE, CODE_CONFLICT from room_util import ROOM_GET, PLAYERS_GET from websocket_util import WEBSOCKET_SEND -import base64 -import json def start(): parameters = JSON_BODY(request) @@ -31,12 +29,11 @@ def start(): if room_record.closed: return(FAIL(CODE_GONE)) - roles = json.dumps(roles) - rolesb64 = base64.standard_b64encode(roles.encode("ascii")) + rolesB64 = JSON_TO_B64(roles) - db(db.Room.id == room_record.id).update(started=True, roles=rolesb64) + db(db.Room.id == room_record.id).update(started=True, roles=rolesB64) - WEBSOCKET_SEND(room_record, "roles", rolesb64.decode("utf-8")) + WEBSOCKET_SEND(room_record, "roles", rolesB64) json_response = {"status": "success"} return(response.json(json_response)) @@ -94,12 +91,11 @@ def roles(): #Update roles and prompts on server for uid in change: - promptString = base64.standard_b64encode(json.dumps(change[uid]["prompts"]).encode("ascii")).decode("utf-8") - db(db.Player.id == uid).update(role=change[uid]["role"], inputs=promptString) + print(change[uid]) + db(db.Player.id == uid).update(role=change[uid]["role"], prompts=JSON_TO_B64(change[uid]["prompts"])) #Update roles on clients - websocket_response = base64.standard_b64encode(json.dumps(change).encode("ascii")).decode("utf-8") - WEBSOCKET_SEND(room_record, "role", websocket_response) + WEBSOCKET_SEND(room_record, "role", JSON_TO_B64(change)) json_response = {"status": "success"} return(response.json(json_response)) diff --git a/modules/parameter_util.py b/modules/parameter_util.py index 2fed05c..ce2c51b 100644 --- a/modules/parameter_util.py +++ b/modules/parameter_util.py @@ -1,6 +1,7 @@ from gluon import * import json +import base64 def JSON_BODY(_request): try: @@ -27,3 +28,7 @@ def JSON_CONTAINS(_json, _list): return (False) return (True) + + +def JSON_TO_B64(_json): + return (base64.standard_b64encode(json.dumps(_json).encode("ascii")).decode("utf-8")) -- GitLab