from mediagoblin.decorators import (require_active_login, active_user_from_url,
get_media_entry_by_id, user_may_alter_collection,
get_user_collection, user_has_privilege,
- user_not_banned, path_subtitle)
+ user_not_banned, path_subtitle, user_may_delete_media)
from mediagoblin.tools.crypto import get_timed_signer_url
from mediagoblin.tools.metadata import (compact_and_validate, DEFAULT_CHECKER,
DEFAULT_SCHEMA)
else:
raise Forbidden("Attachments are disabled")
-@get_media_entry_by_id
-@require_active_login
-def edit_subtitles(request, media):
- if mg_globals.app_config['allow_subtitles']:
- form = forms.EditSubtitlesForm(request.form)
-
- # Add any subtitles
- if 'subtitle_file' in request.files \
- and request.files['subtitle_file']:
- if mimetypes.guess_type(
- request.files['subtitle_file'].filename)[0] in \
- UNSAFE_MIMETYPES:
- public_filename = secure_filename('{0}.notsafe'.format(
- request.files['subtitle_file'].filename))
- else:
- public_filename = secure_filename(
- request.files['subtitle_file'].filename)
-
- subtitle_public_filepath \
- = mg_globals.public_store.get_unique_filepath(
- ['media_entries', six.text_type(media.id), 'subtitle',
- public_filename])
-
- subtitle_public_file = mg_globals.public_store.get_file(
- subtitle_public_filepath, 'wb')
-
- try:
- subtitle_public_file.write(
- request.files['subtitle_file'].stream.read())
- finally:
- request.files['subtitle_file'].stream.close()
-
- media.subtitle_files.append(dict(
- name=form.subtitle_language.data \
- or request.files['subtitle_file'].filename,
- filepath=subtitle_public_filepath,
- created=datetime.utcnow(),
- ))
-
- media.save()
-
- messages.add_message(
- request,
- messages.SUCCESS,
- _("You added the subttile %s!") %
- (form.subtitle_language.data or
- request.files['subtitle_file'].filename))
-
- return redirect(request,
- location=media.url_for_self(request.urlgen))
- return render_to_response(
- request,
- 'mediagoblin/edit/subtitles.html',
- {'media': media,
- 'form': form})
- else:
- raise Forbidden("Subtitles are disabled")
-
@require_active_login
def legacy_edit_profile(request):
"""redirect the old /edit/profile/?username=USER to /u/USER/edit/"""
request,
'mediagoblin/edit/metadata.html',
{'form':form,
- 'media':media})
-
-
-from mediagoblin.tools.subtitles import open_subtitle,save_subtitle
-
-@require_active_login
-@path_subtitle
-def custom_subtitles(request,path=None):
- text = open_subtitle(path)
- form = forms.CustomizeSubtitlesForm(request.form,
- subtitle=text)
- if request.method == 'POST' and form.validate():
- subtitle_data = form.subtitle.data
- save_subtitle(path,subtitle_data)
-
- return render_to_response(
- request,
- "mediagoblin/edit/custom_subtitles.html",
- {"path": path,
- "form": form })
\ No newline at end of file
+ 'media':media})
\ No newline at end of file