diff options
author | saksham1115 <saksham115@gmail.com> | 2016-07-27 17:28:56 +0000 |
---|---|---|
committer | saksham1115 <saksham115@gmail.com> | 2016-07-27 17:28:56 +0000 |
commit | 05a39583198734b1cc9f6f4d3cba1f7c39fb1410 (patch) | |
tree | 34a872de08ccacf490c49e3c0da50f7f01b00671 /mediagoblin/plugins | |
parent | 8efafec5518f1c603700398449c65be0c7c11d3f (diff) | |
download | mediagoblin-05a39583198734b1cc9f6f4d3cba1f7c39fb1410.tar.lz mediagoblin-05a39583198734b1cc9f6f4d3cba1f7c39fb1410.tar.xz mediagoblin-05a39583198734b1cc9f6f4d3cba1f7c39fb1410.zip |
Checking filename and extension of subtitle uploaded
Diffstat (limited to 'mediagoblin/plugins')
-rw-r--r-- | mediagoblin/plugins/custom_subtitles/views.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mediagoblin/plugins/custom_subtitles/views.py b/mediagoblin/plugins/custom_subtitles/views.py index 3d75b0ae..36db2e8b 100644 --- a/mediagoblin/plugins/custom_subtitles/views.py +++ b/mediagoblin/plugins/custom_subtitles/views.py @@ -45,6 +45,8 @@ UNSAFE_MIMETYPES = [ @user_may_delete_media @require_active_login def edit_subtitles(request, media): + allowed_extensions = ['aqt','gsub','jss','sub','ttxt','pjs','psb', + 'rt','smi','stl','ssf','srt','ssa','ass','usf','vtt','lrc'] form = forms.EditSubtitlesForm(request.form) # Add any subtitles @@ -58,7 +60,23 @@ def edit_subtitles(request, media): else: public_filename = secure_filename( request.files['subtitle_file'].filename) + filepath = request.files['subtitle_file'].filename + if filepath.count('.') != 1: # Not allowing double extensions or no extensions + messages.add_message( + request, + messages.ERROR, + ("Check the filename")) + return redirect(request, + location=media.url_for_self(request.urlgen)) + elif filepath.split('.')[:-1] not in allowed_extensions : + messages.add_message( + request, + messages.ERROR, + ("Invalid subtitle file")) + + return redirect(request, + location=media.url_for_self(request.urlgen)) subtitle_public_filepath \ = mg_globals.public_store.get_unique_filepath( ['media_entries', six.text_type(media.id), 'subtitle', |