diff options
author | Jessica Tallon <jessica@megworld.co.uk> | 2014-12-08 14:46:48 +0000 |
---|---|---|
committer | Jessica Tallon <jessica@megworld.co.uk> | 2014-12-08 14:46:48 +0000 |
commit | 35885226061c997d6e95a387d231ddd98dacb4de (patch) | |
tree | 45b560121521140b3e4f502fb56d0536d1e9e174 /mediagoblin/federation/views.py | |
parent | a5c09c50c06b271ab4bba23a90153183430622ef (diff) | |
download | mediagoblin-35885226061c997d6e95a387d231ddd98dacb4de.tar.lz mediagoblin-35885226061c997d6e95a387d231ddd98dacb4de.tar.xz mediagoblin-35885226061c997d6e95a387d231ddd98dacb4de.zip |
Fix #1054 - Add missing attributes to Activity.serialize
Diffstat (limited to 'mediagoblin/federation/views.py')
-rw-r--r-- | mediagoblin/federation/views.py | 55 |
1 files changed, 34 insertions, 21 deletions
diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 9823fffe..26187266 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -181,7 +181,7 @@ def feed_endpoint(request): comment = MediaComment(author=request.user.id) comment.unserialize(data["object"], request) comment.save() - + # Create activity for comment generator = create_generator(request) activity = create_activity( @@ -192,11 +192,7 @@ def feed_endpoint(request): generator=generator ) - data = { - "verb": "post", - "object": comment.serialize(request) - } - return json_response(data) + return json_response(activity.serialize(request)) elif obj.get("objectType", None) == "image": # Posting an image to the feed @@ -231,12 +227,9 @@ def feed_endpoint(request): Location.create(data["location"], self) media.save() - api_add_to_feed(request, media) + activity = api_add_to_feed(request, media) - return json_response({ - "verb": "post", - "object": media.serialize(request) - }) + return json_response(activity.serialize(request)) elif obj.get("objectType", None) is None: # They need to tell us what type of object they're giving us. @@ -296,11 +289,16 @@ def feed_endpoint(request): comment.save() - activity = { - "verb": "update", - "object": comment.serialize(request), - } - return json_response(activity) + # Create an update activity + generator = create_generator(request) + activity = create_activity( + verb="update", + actor=request.user, + obj=comment, + generator=generator + ) + + return json_response(activity.serialize(request)) elif obj["objectType"] == "image": image = MediaEntry.query.filter_by(id=obj_id).first() @@ -324,11 +322,16 @@ def feed_endpoint(request): image.generate_slug() image.save() - activity = { - "verb": "update", - "object": image.serialize(request), - } - return json_response(activity) + # Create an update activity + generator = create_generator(request) + activity = create_activity( + verb="update", + actor=request.user, + obj=image, + generator=generator + ) + + return json_response(activity.serialize(request)) elif obj["objectType"] == "person": # check this is the same user if "id" not in obj or obj["id"] != requested_user.id: @@ -339,6 +342,16 @@ def feed_endpoint(request): requested_user.unserialize(obj) requested_user.save() + generator = create_generator(request) + activity = create_activity( + verb="update", + actor=request.user, + obj=requested_user, + generator=generator + ) + + return json_response(activity.serialize(request)) + elif request.method != "GET": return json_error( "Unsupported HTTP method {0}".format(request.method), |