aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/federation/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/federation/views.py')
-rw-r--r--mediagoblin/federation/views.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py
index 715cb8cd..13f93985 100644
--- a/mediagoblin/federation/views.py
+++ b/mediagoblin/federation/views.py
@@ -1,4 +1,4 @@
-# GNU MediaGoblin -- federated, autonomous media hosting
+# GN MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
#
# This program is free software: you can redistribute it and/or modify
@@ -23,6 +23,7 @@ from werkzeug.datastructures import FileStorage
from mediagoblin.decorators import oauth_required, require_active_login
from mediagoblin.federation.decorators import user_has_privilege
from mediagoblin.db.models import User, MediaEntry, MediaComment, Activity
+from mediagoblin.tools.routing import extract_url_arguments
from mediagoblin.tools.response import redirect, json_response, json_error, \
render_404, render_to_response
from mediagoblin.meddleware.csrf import csrf_exempt
@@ -177,7 +178,7 @@ def feed_endpoint(request):
)
comment = MediaComment(author=request.user.id)
- comment.unserialize(data["object"])
+ comment.unserialize(data["object"], request)
comment.save()
data = {
"verb": "post",
@@ -187,7 +188,11 @@ def feed_endpoint(request):
elif obj.get("objectType", None) == "image":
# Posting an image to the feed
- media_id = int(data["object"]["id"])
+ media_id = int(extract_url_arguments(
+ url=data["object"]["id"],
+ urlmap=request.app.url_map
+ )["id"])
+
media = MediaEntry.query.filter_by(id=media_id).first()
if media is None:
@@ -245,7 +250,10 @@ def feed_endpoint(request):
if "id" not in obj:
return json_error("Object ID has not been specified.")
- obj_id = obj["id"]
+ obj_id = int(extract_url_arguments(
+ url=obj["id"],
+ urlmap=request.app.url_map
+ )["id"])
# Now try and find object
if obj["objectType"] == "comment":
@@ -374,7 +382,7 @@ def object_endpoint(request):
""" Lookup for a object type """
object_type = request.matchdict["object_type"]
try:
- object_id = int(request.matchdict["id"])
+ object_id = request.matchdict["id"]
except ValueError:
error = "Invalid object ID '{0}' for '{1}'".format(
request.matchdict["id"],