Source code for cms_qe_video.cms_plugins

from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
from django.utils.translation import gettext_lazy as _

from cms_qe_video.forms import HostingVideoPlayerForm

from . import models


[docs]@plugin_pool.register_plugin class SourceFileVideoPlayerPlugin(CMSPluginBase): model = models.SourceFileVideoPlayer module = _('Video player') name = _('Video player - source file') render_template = 'cms_qe/video/video_source_file.html' text_enabled = True allow_children = True child_classes = ['VideoTrackPlugin'] fieldsets = [ (None, { 'fields': ( 'label', ) }), (_('Source file settings'), { 'fields': ( 'source_file', 'text_title', ) }), (_('Player settings'), { 'classes': ('collapse',), 'fields': ( 'width', 'height', 'controls', 'autoplay', 'loop', 'muted', 'other_attributes', ) }), (_('Advanced settings'), { 'classes': ('collapse',), 'fields': ( 'poster', 'other_attributes', 'text_description', ) }) ]
[docs]@plugin_pool.register_plugin class HostingVideoPlayerPlugin(CMSPluginBase): model = models.HostingVideoPlayer module = _('Video player') name = _('Video player - hosting services') text_enabled = True render_template = 'cms_qe/video/iframe_with_embed_link.html' change_form_template = 'cms_qe/video/video_widget.html' form = HostingVideoPlayerForm fieldsets = [ (None, { 'fields': ( 'label', 'video_hosting_service', 'video_url', ) }), (_('Player settings'), { 'classes': ('collapse',), 'fields': ( 'width', 'height', 'controls', 'autoplay', 'loop', 'other_attributes', ) }), (_('Advanced settings'), { 'classes': ('collapse',), 'fields': ( 'poster', 'other_attributes', ) }) ]
[docs]@plugin_pool.register_plugin class VideoTrackPlugin(CMSPluginBase): model = models.VideoTrack module = _('Video player') name = _('Track') render_template = 'cms_qe/video/track.html' require_parent = True parent_classes = ['SourceFileVideoPlayerPlugin'] fieldsets = [ (None, { 'fields': ( 'kind', 'src', 'srclang', ) }), (_('Advanced settings'), { 'classes': ('collapse',), 'fields': ( 'label', 'attributes', ) }) ]