From ba91cbcb2777bae2557311774d4d3311af88cd64 Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Wed, 28 Aug 2024 07:48:22 -0400 Subject: [PATCH] modified: research/activity27-tic-tac-toe.yaml new file: static/images/tic-tac-toe.png --- app.py | 16 +++++++++++++--- research/activity27-tic-tac-toe.yaml | 9 ++------- static/images/tic-tac-toe.png | Bin 0 -> 4100 bytes 3 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 static/images/tic-tac-toe.png diff --git a/app.py b/app.py index 392cfd2..e4796ff 100644 --- a/app.py +++ b/app.py @@ -215,6 +215,7 @@ class ActivityState(db.Model): def clear_metadata(self): self.dict_metadata = {} + def get_room(room_name): """Utility function to get room from room name.""" room = Room.query.filter_by(name=room_name).first() @@ -2331,7 +2332,9 @@ def handle_activity_response(room_name, user_response, username): activity_state.add_metadata(random_key, random_value) # Execute the processing script if it exists - if "processing_script" in step and transition.get("run_processing_script", False): + if "processing_script" in step and transition.get( + "run_processing_script", False + ): result = execute_processing_script( activity_state.dict_metadata, step["processing_script"] ) @@ -2349,7 +2352,11 @@ def handle_activity_response(room_name, user_response, username): plot_image_html = f'Plot Image' if result.get("set_background", False): - socketio.emit("set_background", {"image_data": plot_image_base64}) + socketio.emit( + "set_background", + {"image_data": plot_image_base64}, + room=room_name, + ) socketio.sleep(0.1) else: # Save the plot image to the database @@ -2373,7 +2380,10 @@ def handle_activity_response(room_name, user_response, username): ) socketio.sleep(0.1) - if "metadata_clear" in transition and transition["metadata_clear"] == True: + if ( + "metadata_clear" in transition + and transition["metadata_clear"] == True + ): activity_state.clear_metadata() print(activity_state.dict_metadata) diff --git a/research/activity27-tic-tac-toe.yaml b/research/activity27-tic-tac-toe.yaml index 4d1fcd9..00fab5c 100644 --- a/research/activity27-tic-tac-toe.yaml +++ b/research/activity27-tic-tac-toe.yaml @@ -11,13 +11,7 @@ sections: You will be playing against the AI. You are 'X' and the AI is 'O'. The board positions are numbered 0 to 8 as follows: - ``` - 0 | 1 | 2 - --------- - 3 | 4 | 5 - --------- - 6 | 7 | 8 - ``` + - step_id: "step_1" title: "Your Move" @@ -119,6 +113,7 @@ sections: script_result = { "plot_image": plot_board(board), + "set_background": True, "ai_move": ai_move, "user_move": user_move, "metadata": { diff --git a/static/images/tic-tac-toe.png b/static/images/tic-tac-toe.png new file mode 100644 index 0000000000000000000000000000000000000000..99eb080c33972090b4f631d1b9b48710560f733b GIT binary patch literal 4100 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 K)~0CPi~Ki7gfzPV literal 0 HcmV?d00001