16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_content.component.paragraph.interfaces import IParagraphFactory |
19 from pyams_content.component.paragraph.interfaces import IParagraphFactory |
20 from pyams_content.component.video.interfaces import IExternalVideoParagraph, EXTERNAL_VIDEO_PARAGRAPH_TYPE, \ |
20 from pyams_content.component.video.interfaces import IExternalVideoParagraph, EXTERNAL_VIDEO_PARAGRAPH_TYPE, \ |
21 EXTERNAL_VIDEO_PARAGRAPH_RENDERERS |
21 EXTERNAL_VIDEO_PARAGRAPH_RENDERERS, EXTERNAL_VIDEO_PARAGRAPH_NAME |
22 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE |
22 from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE |
23 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator |
23 from pyams_i18n.interfaces import II18n, II18nManager, INegotiator |
24 |
24 |
25 # import packages |
25 # import packages |
26 from pyams_content.component.paragraph import BaseParagraph, BaseParagraphFactory |
26 from pyams_content.component.paragraph import BaseParagraph, BaseParagraphFactory |
33 from pyams_utils.traversing import get_parent |
33 from pyams_utils.traversing import get_parent |
34 from pyams_utils.vocabulary import vocabulary_config |
34 from pyams_utils.vocabulary import vocabulary_config |
35 from zope.interface import implementer |
35 from zope.interface import implementer |
36 from zope.schema.fieldproperty import FieldProperty |
36 from zope.schema.fieldproperty import FieldProperty |
37 |
37 |
38 from pyams_content import _ |
|
39 |
|
40 |
38 |
41 @implementer(IExternalVideoParagraph) |
39 @implementer(IExternalVideoParagraph) |
42 @factory_config(provided=IExternalVideoParagraph) |
40 @factory_config(provided=IExternalVideoParagraph) |
43 class ExternalVideoParagraph(ExternalVideo, BaseParagraph): |
41 class ExternalVideoParagraph(ExternalVideo, BaseParagraph): |
44 """External video paragraph""" |
42 """External video paragraph""" |
45 |
43 |
46 icon_class = 'fa-youtube-play' |
44 icon_class = 'fa-youtube-play' |
47 icon_hint = _("External video") |
45 icon_hint = EXTERNAL_VIDEO_PARAGRAPH_NAME |
48 |
46 |
49 body = FieldProperty(IExternalVideoParagraph['body']) |
47 body = FieldProperty(IExternalVideoParagraph['body']) |
50 renderer = FieldProperty(IExternalVideoParagraph['renderer']) |
48 renderer = FieldProperty(IExternalVideoParagraph['renderer']) |
51 |
49 |
52 |
50 |
53 @utility_config(name=EXTERNAL_VIDEO_PARAGRAPH_TYPE, provides=IParagraphFactory) |
51 @utility_config(name=EXTERNAL_VIDEO_PARAGRAPH_TYPE, provides=IParagraphFactory) |
54 class ExternalVideoParagraphFactory(BaseParagraphFactory): |
52 class ExternalVideoParagraphFactory(BaseParagraphFactory): |
55 """External video paragraph factory""" |
53 """External video paragraph factory""" |
56 |
54 |
57 name = _("External video") |
55 name = EXTERNAL_VIDEO_PARAGRAPH_NAME |
58 content_type = ExternalVideoParagraph |
56 content_type = ExternalVideoParagraph |
59 |
57 |
60 |
58 |
61 @adapter_config(context=IExternalVideoParagraph, provides=IContentChecker) |
59 @adapter_config(context=IExternalVideoParagraph, provides=IContentChecker) |
62 class ExternalVideoParagraphContentChecker(ExternalVideoContentChecker): |
60 class ExternalVideoParagraphContentChecker(ExternalVideoContentChecker): |