From ab4fb6e69ce9e74906056f2144635b166aa85384 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Wed, 19 Jan 2022 18:51:26 +0100 Subject: [PATCH] WebHost: fix /api/room_info --- WebHostLib/api/__init__.py | 19 +++++++++++++------ WebHostLib/api/user.py | 4 ++-- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/WebHostLib/api/__init__.py b/WebHostLib/api/__init__.py index e7029722..5a6250b5 100644 --- a/WebHostLib/api/__init__.py +++ b/WebHostLib/api/__init__.py @@ -1,9 +1,10 @@ """API endpoints package.""" from uuid import UUID +from typing import List, Tuple from flask import Blueprint, abort -from ..models import Room +from ..models import Room, Seed from .. import cache api_endpoints = Blueprint('api', __name__, url_prefix="/api") @@ -13,16 +14,22 @@ from . import generate, user # trigger registration # unsorted/misc endpoints +def get_players(seed: Seed) -> List[Tuple[str, str]]: + return [(slot.player_name, slot.game) for slot in seed.slots] + + @api_endpoints.route('/room_status/') def room_info(room: UUID): room = Room.get(id=room) if room is None: return abort(404) - return {"tracker": room.tracker, - "players": room.seed.multidata["names"], - "last_port": room.last_port, - "last_activity": room.last_activity, - "timeout": room.timeout} + return { + "tracker": room.tracker, + "players": get_players(room.seed), + "last_port": room.last_port, + "last_activity": room.last_activity, + "timeout": room.timeout + } @api_endpoints.route('/datapackage') diff --git a/WebHostLib/api/user.py b/WebHostLib/api/user.py index b68f80bb..5c563daf 100644 --- a/WebHostLib/api/user.py +++ b/WebHostLib/api/user.py @@ -1,7 +1,7 @@ from flask import session, jsonify from WebHostLib.models import * -from . import api_endpoints +from . import api_endpoints, get_players @api_endpoints.route('/get_rooms') @@ -27,6 +27,6 @@ def get_seeds(): response.append({ "seed_id": seed.id, "creation_time": seed.creation_time, - "players": [(slot.player_name, slot.game) for slot in seed.slots], + "players": get_players(seed.slots), }) return jsonify(response) \ No newline at end of file