Use ResponseException for various places rather than needing to check the return value for responseness

This commit is contained in:
Danielle McLean 2018-07-03 09:51:51 +10:00
parent 7d17a92793
commit 065619772e
Signed by untrusted user: 00dani
GPG key ID: 8EB789DDF3ABD240
8 changed files with 17 additions and 26 deletions

View file

@ -18,10 +18,7 @@ actions = {
@csrf_exempt
@require_http_methods(['GET', 'HEAD', 'POST'])
def micropub(request):
token = tokens.auth(request)
if hasattr(token, 'content'):
return token
request.token = token
request.token = tokens.auth(request)
if request.method in ('GET', 'HEAD'):
return query(request)

View file

@ -21,8 +21,6 @@ ACCEPTED_MEDIA_TYPES = (
@require_POST
def media(request):
token = tokens.auth(request)
if hasattr(token, 'content'):
return token
if 'file' not in request.FILES:
return error.bad_req(
"a file named 'file' must be provided to the media endpoint"

View file

@ -1,6 +1,7 @@
from django.http import JsonResponse
from django.urls import reverse
from lemoncurry import requests
from lemoncurry.middleware import ResponseException
from lemoncurry.utils import absolute_url
from . import error
@ -14,10 +15,12 @@ def config(request):
def source(request):
get = request.GET
if 'url' not in get:
return error.bad_req('must specify url parameter for source query')
raise ResponseException(error.bad_req(
'must specify url parameter for source query'
))
mf2 = requests.mf2(get['url']).to_dict(filter_by_type='h-entry')
if not mf2:
return error.bad_req('no h-entry at the requested url')
raise ResponseException(error.bad_req('no h-entry at the requested url'))
entry = mf2[0]
keys = get.getlist('properties', []) + get.getlist('properties[]', [])
if not keys:
@ -45,6 +48,4 @@ def query(request):
if q not in queries:
return error.bad_req('unsupported query {0}'.format(q))
res = queries[q](request)
if hasattr(res, 'content'):
return res
return JsonResponse(res)