summaryrefslogtreecommitdiffstats
path: root/activities/models
diff options
context:
space:
mode:
Diffstat (limited to 'activities/models')
-rw-r--r--activities/models/post.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/activities/models/post.py b/activities/models/post.py
index 97ee0e0..599a1ea 100644
--- a/activities/models/post.py
+++ b/activities/models/post.py
@@ -643,7 +643,7 @@ class Post(StatorModel):
)
created = True
else:
- raise KeyError(f"No post with ID {data['id']}", data)
+ raise cls.DoesNotExist(f"No post with ID {data['id']}", data)
if update or created:
post.content = data["content"]
post.summary = data.get("summary")
@@ -755,7 +755,11 @@ class Post(StatorModel):
if data["actor"] != data["object"]["attributedTo"]:
raise ValueError("Create actor does not match its Post object", data)
# Find it and update it
- cls.by_ap(data["object"], create=False, update=True)
+ try:
+ cls.by_ap(data["object"], create=False, update=True)
+ except cls.DoesNotExist:
+ # We don't have a copy - assume we got a delete first and ignore.
+ pass
@classmethod
def handle_delete_ap(cls, data):