aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/decorators.py
diff options
context:
space:
mode:
authorJessica Tallon <jessica@megworld.co.uk>2014-07-23 00:23:23 +0100
committerJessica Tallon <jessica@megworld.co.uk>2014-07-23 00:23:23 +0100
commitaab62394773c27e73996e8cb8fb425db3fa62d49 (patch)
tree5f7e8a14f557f9917179fc8f2d4e9987ef98097a /mediagoblin/decorators.py
parent59ff4790c9f33fe13ee0a411d4152bd256eaa06a (diff)
parenta14d90c2db5ff96bdd72009a07f1afc0e8ef3595 (diff)
downloadmediagoblin-aab62394773c27e73996e8cb8fb425db3fa62d49.tar.lz
mediagoblin-aab62394773c27e73996e8cb8fb425db3fa62d49.tar.xz
mediagoblin-aab62394773c27e73996e8cb8fb425db3fa62d49.zip
Merge branch 'Federation'
Diffstat (limited to 'mediagoblin/decorators.py')
-rw-r--r--mediagoblin/decorators.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py
index 8515d091..90edf96b 100644
--- a/mediagoblin/decorators.py
+++ b/mediagoblin/decorators.py
@@ -22,7 +22,7 @@ from oauthlib.oauth1 import ResourceEndpoint
from mediagoblin import mg_globals as mgg
from mediagoblin import messages
-from mediagoblin.db.models import MediaEntry, User, MediaComment
+from mediagoblin.db.models import MediaEntry, User, MediaComment, AccessToken
from mediagoblin.tools.response import (
redirect, render_404,
render_user_banned, json_response)
@@ -401,10 +401,10 @@ def oauth_required(controller):
request_validator = GMGRequestValidator()
resource_endpoint = ResourceEndpoint(request_validator)
- valid, request = resource_endpoint.validate_protected_resource_request(
+ valid, r = resource_endpoint.validate_protected_resource_request(
uri=request.url,
http_method=request.method,
- body=request.get_data(),
+ body=request.data,
headers=dict(request.headers),
)
@@ -412,6 +412,13 @@ def oauth_required(controller):
error = "Invalid oauth prarameter."
return json_response({"error": error}, status=400)
+ # Fill user if not already
+ token = authorization[u"oauth_token"]
+ access_token = AccessToken.query.filter_by(token=token).first()
+ if access_token is not None and request.user is None:
+ user_id = access_token.user
+ request.user = User.query.filter_by(id=user_id).first()
+
return controller(request, *args, **kwargs)
return wrapper