--- a/src/pyams_content/component/video/paragraph.py Thu May 24 10:51:45 2018 +0200
+++ b/src/pyams_content/component/video/paragraph.py Fri May 25 08:03:41 2018 +0200
@@ -17,17 +17,21 @@
# import interfaces
from pyams_content.component.paragraph.interfaces import IParagraphFactory
-from pyams_content.component.video.interfaces import IExternalVideoParagraph, EXTERNAL_VIDEO_PARAGRAPH_TYPE
+from pyams_content.component.video.interfaces import IExternalVideoParagraph, EXTERNAL_VIDEO_PARAGRAPH_TYPE, \
+ EXTERNAL_VIDEO_PARAGRAPH_RENDERERS
from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE
from pyams_i18n.interfaces import II18n, II18nManager, INegotiator
# import packages
from pyams_content.component.paragraph import BaseParagraph, BaseParagraphFactory
from pyams_content.component.video import ExternalVideo, ExternalVideoContentChecker
+from pyams_content.features.renderer import RenderersVocabulary
from pyams_utils.adapter import adapter_config
+from pyams_utils.factory import factory_config
from pyams_utils.registry import utility_config, get_utility
from pyams_utils.request import check_request
from pyams_utils.traversing import get_parent
+from pyams_utils.vocabulary import vocabulary_config
from zope.interface import implementer
from zope.schema.fieldproperty import FieldProperty
@@ -35,6 +39,7 @@
@implementer(IExternalVideoParagraph)
+@factory_config(provided=IExternalVideoParagraph)
class ExternalVideoParagraph(ExternalVideo, BaseParagraph):
"""External video paragraph"""
@@ -42,6 +47,7 @@
icon_hint = _("External video")
body = FieldProperty(IExternalVideoParagraph['body'])
+ renderer = FieldProperty(IExternalVideoParagraph['renderer'])
@utility_config(name=EXTERNAL_VIDEO_PARAGRAPH_TYPE, provides=IParagraphFactory)
@@ -85,3 +91,10 @@
output.insert(0, missing_lang_value.format(field=translate(IExternalVideoParagraph[attr].title),
lang=lang))
return output
+
+
+@vocabulary_config(name=EXTERNAL_VIDEO_PARAGRAPH_RENDERERS)
+class ExternalVideoParagraphRendererVocabulary(RenderersVocabulary):
+ """External video paragraph renderers vocabulary"""
+
+ content_interface = IExternalVideoParagraph