diff options
-rw-r--r-- | mediagoblin/submit/lib.py | 20 | ||||
-rw-r--r-- | mediagoblin/submit/views.py | 15 |
2 files changed, 23 insertions, 12 deletions
diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index 1314df1e..975d920e 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -21,13 +21,13 @@ from os.path import splitext from werkzeug.utils import secure_filename from werkzeug.datastructures import FileStorage +from mediagoblin import mg_globals from mediagoblin.tools.text import convert_to_tag_list_of_dicts from mediagoblin.db.models import MediaEntry from mediagoblin.processing import mark_entry_failed from mediagoblin.processing.task import ProcessMedia from mediagoblin.notifications import add_comment_subscription -from mediagoblin.media_types import sniff_media, \ - InvalidFileType, FileTypeNotSupported +from mediagoblin.media_types import sniff_media _log = logging.getLogger(__name__) @@ -53,6 +53,20 @@ def new_upload_entry(user): return entry +def get_upload_file_limits(user): + """ + Get the upload_limit and max_file_size for this user + """ + if user.upload_limit >= 0: + upload_limit = user.upload_limit + else: + upload_limit = mg_globals.app_config.get('upload_limit', None) + + max_file_size = mg_globals.app_config.get('max_file_size', None) + + return upload_limit, max_file_size + + class UploadLimitError(Exception): """ General exception for when an upload will be over some upload limit @@ -173,6 +187,8 @@ def submit_media(mg_app, user, submitted_file, filename, add_comment_subscription(user, entry) + return entry + def prepare_queue_task(app, entry, filename): """ diff --git a/mediagoblin/submit/views.py b/mediagoblin/submit/views.py index dc618861..e2c78638 100644 --- a/mediagoblin/submit/views.py +++ b/mediagoblin/submit/views.py @@ -29,7 +29,8 @@ from mediagoblin.submit import forms as submit_forms from mediagoblin.messages import add_message, SUCCESS from mediagoblin.media_types import \ InvalidFileType, FileTypeNotSupported -from mediagoblin.submit.lib import check_file_field, submit_media, \ +from mediagoblin.submit.lib import \ + check_file_field, submit_media, get_upload_file_limits, \ FileUploadLimit, UserUploadLimit, UserPastUploadLimit @@ -39,20 +40,14 @@ def submit_start(request): """ First view for submitting a file. """ - user = request.user - if user.upload_limit >= 0: - upload_limit = user.upload_limit - else: - upload_limit = mg_globals.app_config.get('upload_limit', None) - - max_file_size = mg_globals.app_config.get('max_file_size', None) + upload_limit, max_file_size = get_upload_file_limits(request.user) submit_form = submit_forms.get_submit_start_form( request.form, license=request.user.license_preference, max_file_size=max_file_size, upload_limit=upload_limit, - uploaded=user.uploaded) + uploaded=request.user.uploaded) if request.method == 'POST' and submit_form.validate(): if not check_file_field(request, 'file'): @@ -72,7 +67,7 @@ def submit_start(request): add_message(request, SUCCESS, _('Woohoo! Submitted!')) return redirect(request, "mediagoblin.user_pages.user_home", - user=user.username) + user=request.user.username) # Handle upload limit issues |