diff options
author | Rodney Ewing <ewing.rj@gmail.com> | 2013-06-12 12:02:11 -0700 |
---|---|---|
committer | Rodney Ewing <ewing.rj@gmail.com> | 2013-08-26 06:33:28 -0700 |
commit | bdd2242155d3192615740661ce52f6fb960d1a05 (patch) | |
tree | 54599b61d8f75e43552932b07792eefd41f21e2a /mediagoblin/submit/views.py | |
parent | 0cdebda7fc533384bd725412365325edcbeb038c (diff) | |
download | mediagoblin-bdd2242155d3192615740661ce52f6fb960d1a05.tar.lz mediagoblin-bdd2242155d3192615740661ce52f6fb960d1a05.tar.xz mediagoblin-bdd2242155d3192615740661ce52f6fb960d1a05.zip |
added user upload limits
Diffstat (limited to 'mediagoblin/submit/views.py')
-rw-r--r-- | mediagoblin/submit/views.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/mediagoblin/submit/views.py b/mediagoblin/submit/views.py index 6bb95ecb..d5f05cb7 100644 --- a/mediagoblin/submit/views.py +++ b/mediagoblin/submit/views.py @@ -43,6 +43,20 @@ def submit_start(request): """ First view for submitting a file. """ + user = request.user + if user.upload_limit: + upload_limit = user.upload_limit + else: + upload_limit = mg_globals.app_config['upload_limit'] + + if user.uploaded >= upload_limit: + messages.add_message( + request, + messages.WARNING, + _('Sorry, you have reached your upload limit.')) + return redirect( + request, '/u/{0}'.format(user.username)) + submit_form = submit_forms.SubmitStartForm(request.form, license=request.user.license_preference) @@ -86,6 +100,26 @@ def submit_start(request): with queue_file: queue_file.write(request.files['file'].stream.read()) + # Get file size an round to 2 decimal places + file_size = request.app.queue_store.get_file_size( + entry.queued_media_file) / (1024.0 * 1024) + file_size = float('{0:.2f}'.format(file_size)) + + # Check if over upload limit + if (user.uploaded + file_size) >= upload_limit: + messages.add_message( + request, + messages.WARNING, + _('Sorry, uploading this file will put you over your' + ' upload limit.')) + return redirect( + request, '/u/{0}'.format(user.username)) + + user.uploaded = user.uploaded + file_size + user.save() + + entry.file_size = file_size + # Save now so we have this data before kicking off processing entry.save() |