From 2761172a7cf8b05e1d144d949edf1d6124cbe60b Mon Sep 17 00:00:00 2001 From: Paul Brinkmeier Date: Fri, 20 Jan 2023 04:54:34 +0100 Subject: [PATCH] Use fancy new match syntax --- glebby-server/glebby/model.py | 42 +++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/glebby-server/glebby/model.py b/glebby-server/glebby/model.py index cb9de55..4d44ec5 100644 --- a/glebby-server/glebby/model.py +++ b/glebby-server/glebby/model.py @@ -82,25 +82,29 @@ class Model: }) return - if payload['type'] == 'set-name': - self.clients[client_id].name = payload['name'] - await self.broadcast(client_id, { - 'type': 'set-name', - 'name': payload['name'] - }) - elif payload['type'] == 'chat': - await self.broadcast(client_id, { - 'type': 'chat', - 'message': payload['message'] - }) - elif payload['type'] == 'roll': - self.board = self.board_generator.generate_board() - await self.broadcast(client_id, { - 'type': 'roll', - 'board': self.board - }) - else: - print("Unhandled!") + match payload: + case {'type': 'set-name', 'name': name}: + self.clients[client_id].name = name + await self.broadcast(client_id, { + 'type': 'set-name', + 'name': name + }) + + case {'type': 'chat', 'message': message}: + await self.broadcast(client_id, { + 'type': 'chat', + 'message': message + }) + + case {'type': 'roll'}: + self.board = self.board_generator.generate_board() + await self.broadcast(client_id, { + 'type': 'roll', + 'board': self.board + }) + + case _: + print(' Unhandled!') def get_state_dto(self, client_id: int) -> Any: return {