From d79a756813e2894fa6a4c28c28c05716fb4f20b8 Mon Sep 17 00:00:00 2001 From: Mouse Reeve Date: Wed, 16 Dec 2020 15:59:42 -0800 Subject: [PATCH] Fixes pure status serializer --- bookwyrm/models/base_model.py | 4 ++-- bookwyrm/models/status.py | 2 +- bookwyrm/outgoing.py | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bookwyrm/models/base_model.py b/bookwyrm/models/base_model.py index 08cc6052..0de61fd1 100644 --- a/bookwyrm/models/base_model.py +++ b/bookwyrm/models/base_model.py @@ -151,9 +151,9 @@ class ActivitypubMixin: return self.activity_serializer(**activity).serialize() - def to_create_activity(self, user): + def to_create_activity(self, user, **kwargs): ''' returns the object wrapped in a Create activity ''' - activity_object = self.to_activity() + activity_object = self.to_activity(**kwargs) signer = pkcs1_15.new(RSA.import_key(user.key_pair.private_key)) content = activity_object['content'] diff --git a/bookwyrm/models/status.py b/bookwyrm/models/status.py index f2d0279f..fcf4a290 100644 --- a/bookwyrm/models/status.py +++ b/bookwyrm/models/status.py @@ -78,7 +78,7 @@ class Status(OrderedCollectionPageMixin, BookWyrmModel): activity['replies'] = self.to_replies() # "pure" serialization for non-bookwyrm instances - if pure: + if pure and hasattr(self, 'pure_content'): activity['content'] = self.pure_content if 'name' in activity: activity['name'] = self.pure_name diff --git a/bookwyrm/outgoing.py b/bookwyrm/outgoing.py index 38b48282..475bfc21 100644 --- a/bookwyrm/outgoing.py +++ b/bookwyrm/outgoing.py @@ -252,9 +252,8 @@ def handle_status(user, form): broadcast(user, status.to_create_activity(user), software='bookwyrm') # re-format the activity for non-bookwyrm servers - if hasattr(status, 'pure_activity_serializer'): - remote_activity = status.to_create_activity(user, pure=True) - broadcast(user, remote_activity, software='other') + remote_activity = status.to_create_activity(user, pure=True) + broadcast(user, remote_activity, software='other') def handle_tag(user, tag):