src/pyams_media/zmi/media.py
changeset 15 d1477fa29943
parent 13 370b8d6fc9e6
child 19 179f9381965b
equal deleted inserted replaced
14:61775c0158f3 15:d1477fa29943
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
    12 from pyams_file.interfaces import IMediaFile, IVideo, IThumbnail, IAudio
       
    13 from pyams_form.interfaces.form import IWidgetsPrefixViewletsManager
       
    14 from pyams_media.ffbase import FFmpeg
       
    15 from pyams_media.ffdocument import FFDocument
       
    16 from pyams_media.interfaces import IMediaConversionUtility, VIDEO_FRAME_SIZE, IMediaConverter, IMediaConversions
       
    17 from pyams_pagelet.pagelet import pagelet_config
       
    18 from pyams_skin.interfaces.viewlet import IContextActions
       
    19 from pyams_skin.layer import IPyAMSLayer
       
    20 from pyams_skin.viewlet.toolbar import ToolbarMenuItem
       
    21 from pyams_template.template import template_config
       
    22 from pyams_utils.property import cached_property
       
    23 from pyams_utils.registry import query_utility
       
    24 from pyams_viewlet.viewlet import viewlet_config, Viewlet
       
    25 from pyams_zmi.form import AdminDialogDisplayForm
       
    26 from pyams_zmi.layer import IAdminLayer
       
    27 
    12 
    28 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    29 
    14 
    30 
    15 
    31 # import standard library
    16 # import standard library
    32 
    17 
    33 # import interfaces
    18 # import interfaces
       
    19 from pyams_file.interfaces import IVideo, IThumbnail, IAudio
       
    20 from pyams_form.interfaces.form import IWidgetsPrefixViewletsManager
       
    21 from pyams_media.interfaces import IMediaConversionUtility, VIDEO_FRAME_SIZE, IMediaConverter, IMediaConversions
       
    22 from pyams_skin.interfaces.viewlet import IContextActions
       
    23 from pyams_skin.layer import IPyAMSLayer
       
    24 from pyams_zmi.layer import IAdminLayer
    34 
    25 
    35 # import packages
    26 # import packages
       
    27 from pyams_pagelet.pagelet import pagelet_config
       
    28 from pyams_skin.viewlet.toolbar import ToolbarMenuItem
       
    29 from pyams_template.template import template_config
       
    30 from pyams_utils.interfaces import MANAGE_PERMISSION
       
    31 from pyams_utils.registry import query_utility
       
    32 from pyams_viewlet.viewlet import viewlet_config, Viewlet
       
    33 from pyams_zmi.form import AdminDialogDisplayForm
    36 from z3c.form import field
    34 from z3c.form import field
    37 from zope.interface import Interface
    35 from zope.interface import Interface
    38 
    36 
    39 from pyams_media import _
    37 from pyams_media import _
    40 
    38 
    42 #
    40 #
    43 # Video conversions
    41 # Video conversions
    44 #
    42 #
    45 
    43 
    46 @viewlet_config(name='video.conversions.action', context=IVideo, layer=IPyAMSLayer, view=Interface,
    44 @viewlet_config(name='video.conversions.action', context=IVideo, layer=IPyAMSLayer, view=Interface,
    47                 manager=IContextActions, permission='manage', weight=15)
    45                 manager=IContextActions, permission=MANAGE_PERMISSION, weight=15)
    48 class VideoConversionsAction(ToolbarMenuItem):
    46 class VideoConversionsAction(ToolbarMenuItem):
    49     """Video conversions action"""
    47     """Video conversions action"""
    50 
    48 
    51     label = _("Video conversions...")
    49     label = _("Video conversions...")
    52     label_css_class = 'fa fa-fw fa-compress'
    50     label_css_class = 'fa fa-fw fa-compress'
    53 
    51 
    54     url = 'video-conversions.html'
    52     url = 'video-conversions.html'
    55     modal_target = True
    53     modal_target = True
    56 
    54 
    57 
    55 
    58 @pagelet_config(name='video-conversions.html', context=IVideo, layer=IPyAMSLayer, permission='manage')
    56 @pagelet_config(name='video-conversions.html', context=IVideo, layer=IPyAMSLayer, permission=MANAGE_PERMISSION)
    59 class VideoConversionsDisplayForm(AdminDialogDisplayForm):
    57 class VideoConversionsDisplayForm(AdminDialogDisplayForm):
    60     """Video conversions display form"""
    58     """Video conversions display form"""
    61 
    59 
    62     legend = _("Selected video conversions")
    60     legend = _("Selected video conversions")
    63     icon_css_class = 'fa fa-fw fa-compress'
    61     icon_css_class = 'fa fa-fw fa-compress'
   105 #
   103 #
   106 # Audio conversions
   104 # Audio conversions
   107 #
   105 #
   108 
   106 
   109 @viewlet_config(name='audio.conversions.action', context=IAudio, layer=IPyAMSLayer, view=Interface,
   107 @viewlet_config(name='audio.conversions.action', context=IAudio, layer=IPyAMSLayer, view=Interface,
   110                 manager=IContextActions, permission='manage', weight=15)
   108                 manager=IContextActions, permission=MANAGE_PERMISSION, weight=15)
   111 class AudioConversionsAction(ToolbarMenuItem):
   109 class AudioConversionsAction(ToolbarMenuItem):
   112     """Audio conversions action"""
   110     """Audio conversions action"""
   113 
   111 
   114     label = _("Audio conversions...")
   112     label = _("Audio conversions...")
   115     label_css_class = 'fa fa-fw fa-compress'
   113     label_css_class = 'fa fa-fw fa-compress'
   116 
   114 
   117     url = 'audio-conversions.html'
   115     url = 'audio-conversions.html'
   118     modal_target = True
   116     modal_target = True
   119 
   117 
   120 
   118 
   121 @pagelet_config(name='audio-conversions.html', context=IAudio, layer=IPyAMSLayer, permission='manage')
   119 @pagelet_config(name='audio-conversions.html', context=IAudio, layer=IPyAMSLayer, permission=MANAGE_PERMISSION)
   122 class AudioConversionsDisplayForm(AdminDialogDisplayForm):
   120 class AudioConversionsDisplayForm(AdminDialogDisplayForm):
   123     """Audio conversions display form"""
   121     """Audio conversions display form"""
   124 
   122 
   125     legend = _("Selected audio conversions")
   123     legend = _("Selected audio conversions")
   126     icon_css_class = 'fa fa-fw fa-compress'
   124     icon_css_class = 'fa fa-fw fa-compress'