Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def ffmpeg_check(app_configs, **kwargs):
messages = []
if not ffmpeg.installed():
messages.append(
Warning(
'ffmpeg could not be found on your system. Transcoding will be disabled',
hint=None,
id='wagtailvideos.W001',
)
)
return messages
else:
form = VideoForm(instance=video)
if not video._meta.get_field('file').storage.exists(video.file.name):
# Give error if image file doesn't exist
messages.error(request, _(
"The source video file could not be found. Please change the source or delete the video."
).format(video.title), buttons=[
messages.button(reverse('wagtailvideos:delete', args=(video.id,)), _('Delete'))
])
return render(request, "wagtailvideos/videos/edit.html", {
'video': video,
'form': form,
'filesize': video.get_file_size(),
'can_transcode': ffmpeg.installed(),
'transcodes': video.transcodes.all(),
'transcode_form': VideoTranscodeAdminForm(video=video),
'user_can_delete': permission_policy.user_has_permission_for_instance(request.user, 'delete', video)
})
def video_saved(sender, instance, **kwargs):
if not ffmpeg.installed():
return
if hasattr(instance, '_from_signal'):
return
has_changed = instance._initial_file is not instance.file
filled_out = instance.thumbnail is not None and instance.duration is not None
if has_changed or not filled_out:
with get_local_file(instance.file) as file_path:
if has_changed or instance.thumbnail is None:
instance.thumbnail = ffmpeg.get_thumbnail(file_path)
if has_changed or instance.duration is None:
instance.duration = ffmpeg.get_duration(file_path)
instance.file_size = instance.file.size