From b2775c51606b9f7dba2983f4d8d7f57a9b28b5d8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Mon, 16 May 2022 10:20:13 -0700 Subject: [PATCH] Check unsupported types before attempting to serialize --- bookwyrm/activitypub/base_activity.py | 4 ++-- bookwyrm/tests/views/inbox/test_inbox_create.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bookwyrm/activitypub/base_activity.py b/bookwyrm/activitypub/base_activity.py index 1aacfd1f9..448d55637 100644 --- a/bookwyrm/activitypub/base_activity.py +++ b/bookwyrm/activitypub/base_activity.py @@ -39,12 +39,12 @@ def naive_parse(activity_objects, activity_json, serializer=None): activity_json["type"] = "PublicKey" activity_type = activity_json.get("type") + if activity_type in ["Question", "Article"]: + return None try: serializer = activity_objects[activity_type] except KeyError as err: # we know this exists and that we can't handle it - if activity_type in ["Question", "Article"]: - return None raise ActivitySerializerError(err) return serializer(activity_objects=activity_objects, **activity_json) diff --git a/bookwyrm/tests/views/inbox/test_inbox_create.py b/bookwyrm/tests/views/inbox/test_inbox_create.py index d08840b5b..cc1b8d508 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_create.py +++ b/bookwyrm/tests/views/inbox/test_inbox_create.py @@ -219,7 +219,7 @@ class InboxCreate(TestCase): views.inbox.activity_task(activity) def test_create_unsupported_type_article(self, *_): - """ special case in unsupported type because we do know what it is""" + """special case in unsupported type because we do know what it is""" activity = self.create_json activity["object"] = { "id": "https://example.com/status/887",