diff options
Diffstat (limited to 'mediagoblin/plugins/api/views.py')
-rw-r--r-- | mediagoblin/plugins/api/views.py | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py index e8af7988..fdd22ace 100644 --- a/mediagoblin/plugins/api/views.py +++ b/mediagoblin/plugins/api/views.py @@ -17,6 +17,8 @@ import json import logging +import six + from werkzeug.exceptions import BadRequest from werkzeug.wrappers import Response @@ -24,8 +26,7 @@ from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.response import json_response from mediagoblin.decorators import require_active_login from mediagoblin.meddleware.csrf import csrf_exempt -from mediagoblin.media_types import \ - InvalidFileType, FileTypeNotSupported +from mediagoblin.media_types import FileTypeNotSupported from mediagoblin.plugins.api.tools import api_auth, get_entry_serializable from mediagoblin.submit.lib import \ check_file_field, submit_media, get_upload_file_limits, \ @@ -51,21 +52,18 @@ def post_entry(request): _log.debug('File field not found') raise BadRequest() - upload_limit, max_file_size = get_upload_file_limits(request.user) - callback_url = request.form.get('callback_url') if callback_url: - callback_url = unicode(callback_url) + callback_url = six.text_type(callback_url) try: entry = submit_media( mg_app=request.app, user=request.user, submitted_file=request.files['file'], filename=request.files['file'].filename, - title=unicode(request.form.get('title')), - description=unicode(request.form.get('description')), - license=unicode(request.form.get('license', '')), - tags_string=unicode(request.form.get('tags', '')), - upload_limit=upload_limit, max_file_size=max_file_size, + title=six.text_type(request.form.get('title')), + description=six.text_type(request.form.get('description')), + license=six.text_type(request.form.get('license', '')), + tags_string=six.text_type(request.form.get('tags', '')), callback_url=callback_url) return json_response(get_entry_serializable(entry, request.urlgen)) @@ -81,17 +79,8 @@ def post_entry(request): except UserPastUploadLimit: raise BadRequest( _('Sorry, you have reached your upload limit.')) - - except Exception as e: - ''' - This section is intended to catch exceptions raised in - mediagoblin.media_types - ''' - if isinstance(e, InvalidFileType) or \ - isinstance(e, FileTypeNotSupported): - raise BadRequest(unicode(e)) - else: - raise + except FileTypeNotSupported as e: + raise BadRequest(e) @api_auth @@ -103,7 +92,7 @@ def api_test(request): # TODO: This is the *only* thing using Response() here, should that # not simply use json_response()? - return Response(json.dumps(user_data)) + return Response(json.dumps(user_data, sort_keys=True)) def get_entries(request): |