Support for rendering of video file attachments

This commit is contained in:
Francesco Siddi 2018-01-17 15:55:25 +01:00
parent 46beaece75
commit bdff391440
3 changed files with 30 additions and 1 deletions

View File

@ -69,7 +69,8 @@ def render_attachment_file(attachment):
sdk_file = pillarsdk.File.find(attachment['oid'], api=api) sdk_file = pillarsdk.File.find(attachment['oid'], api=api)
file_renderers = { file_renderers = {
'image': render_attachment_file_image 'image': render_attachment_file_image,
'video': render_attachment_file_video,
} }
mime_type_cat, _ = sdk_file.content_type.split('/', 1) mime_type_cat, _ = sdk_file.content_type.split('/', 1)
@ -89,6 +90,20 @@ def render_attachment_file_image(sdk_file, attachment):
file=sdk_file, vars=variations, attachment=attachment) file=sdk_file, vars=variations, attachment=attachment)
def render_attachment_file_video(sdk_file, attachment):
"""Renders a video file."""
try:
# The very first variation is an mp4 file with max width of 1920px
default_variation = sdk_file.variations[0]
except IndexError:
log.error('Could not find variations for file %s' % sdk_file._id)
return flask.render_template('nodes/attachments/file_generic.html', file=sdk_file)
return flask.render_template('nodes/attachments/file_video.html',
file=sdk_file, var=default_variation, attachment=attachment)
def attachment_form_group_create(schema_prop): def attachment_form_group_create(schema_prop):
"""Creates a wtforms.FieldList for attachments.""" """Creates a wtforms.FieldList for attachments."""

View File

@ -16,6 +16,9 @@
top: 15px top: 15px
bottom: 15px bottom: 15px
video
max-width: 100%
#blog_post-edit-form #blog_post-edit-form
padding: 20px padding: 20px

View File

@ -0,0 +1,11 @@
| {% if 'link' in attachment and attachment['link'] != 'none' %}
| {% if attachment['link'] == 'self' %}
video(src="{{ var.link }}", alt="{{ file.filename }}", controls)
a.attachment(href="{{ file.link }}") {{ file.filename }}
| {% elif attachment['link'] == 'custom' %}
video(src="{{ var.link }}", alt="{{ file.filename }}", controls)
a.attachment(href="{{ attachment['link_custom'] }}") Learn more about this video
| {% endif %}
| {% else %}
video(src="{{ var.link }}", alt="{{ file.filename }}", controls)
| {% endif %}