From 9ddfcbe584ca56cc8248120698497ce5c47f12c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Sch=C3=A4fer?= <felix@thegcat.net> Date: Fri, 11 Feb 2022 12:42:24 +0100 Subject: [PATCH] Handle empty configuration --- pretix_matrix_inviter/forms.py | 4 +++- pretix_matrix_inviter/helpers.py | 13 ++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/pretix_matrix_inviter/forms.py b/pretix_matrix_inviter/forms.py index 401a634..a667734 100644 --- a/pretix_matrix_inviter/forms.py +++ b/pretix_matrix_inviter/forms.py @@ -61,7 +61,9 @@ class MatrixInviterForm(SettingsForm): ] room_info = matrix_room_info_for_event(self.obj) - if self.obj.settings.matrix_inviter_matrix_room.startswith("!"): + if not room_info["room_id"]: + room_help_text = "" + elif self.obj.settings.matrix_inviter_matrix_room.startswith("!"): if room_info["canonical_alias"]: room_help_text = _( '"{name}" (main address: <code>{canonical_alias}</code>)' diff --git a/pretix_matrix_inviter/helpers.py b/pretix_matrix_inviter/helpers.py index a5757ed..c3dfed2 100644 --- a/pretix_matrix_inviter/helpers.py +++ b/pretix_matrix_inviter/helpers.py @@ -27,13 +27,18 @@ def matrix_room_info(server, token, room_id_or_alias): def matrix_room_id(server, room_id_or_alias): - if room_id_or_alias.startswith("!"): + if not server or not room_id_or_alias: + return "" + elif room_id_or_alias.startswith("!"): return room_id_or_alias else: return matrix_room_id_from_alias(server, room_id_or_alias) def matrix_room_id_from_alias(server, alias): + if not server or not alias: + return "" + r = requests.get( "https://{}/_matrix/client/v3/directory/room/{}".format( url_quote(server), @@ -45,6 +50,9 @@ def matrix_room_id_from_alias(server, alias): def matrix_room_canonical_alias_from_id(server, token, room_id): + if not server or not token or not room_id: + return "" + r = requests.get( "https://{}/_matrix/client/v3/rooms/{}/state/m.room.canonical_alias".format( url_quote(server), @@ -59,6 +67,9 @@ def matrix_room_canonical_alias_from_id(server, token, room_id): def matrix_room_name_from_id(server, token, room_id): + if not server or not token or not room_id: + return "" + r = requests.get( "https://{}/_matrix/client/v3/rooms/{}/state/m.room.name".format( url_quote(server), -- GitLab