)

class AddFileForm(ListForm):
    template = 'admin/media/file-add-form.html'
    id = 'add-file-form'
    submit_text = None
    
    event = events.Admin.AddFileForm
    
    fields = [
        FileField('file', label_text=N_('Select an encoded video or audio file on your computer'), validator=FieldStorageUploadConverter(not_empty=False, label_text=N_('Upload'))),
        SubmitButton('add_url', default=N_('Add URL'), named_button=True, css_class='btn grey btn-add-url f-rgt'),
        TextField('url', validator=URIValidator, suppress_label=True, attrs=lambda: {'title': _('YouTube, Vimeo, Amazon S3 or any other link')}, maxlength=255),
    ]

file_type_options = lambda: registered_media_types()
file_types = lambda: (id for id, name in registered_media_types())
file_type_validator = OneOfGenerator(file_types, if_missing=None)

class EditFileForm(ListForm):
    template = 'admin/media/file-edit-form.html'
    submit_text = None
    _name = 'fileeditform'
    params = ['file']
    
    event = events.Admin.EditFileForm
    
    class fields(WidgetsList):
        file_id = TextField(validator=Int())
        file_type = SingleSelectField(validator=file_type_validator, options=file_type_options, attrs={'id': None, 'autocomplete': 'off'})
        duration = TextField(validator=DurationValidator, attrs={'id': None, 'autocomplete': 'off'})
Exemple #2
0
                )

class AddFileForm(ListForm):
    template = 'admin/media/file-add-form.html'
    id = 'add-file-form'
    submit_text = None
    
    event = events.Admin.AddFileForm
    
    fields = [
        FileField('file', label_text=N_('Select an encoded video or audio file on your computer'), validator=FieldStorageUploadConverter(not_empty=False, label_text=N_('Upload'))),
        SubmitButton('add_url', default=N_('Add URL'), named_button=True, css_class='btn grey btn-add-url f-rgt'),
        TextField('url', validator=URIValidator, suppress_label=True, attrs=lambda: {'title': _('YouTube, Vimeo, Amazon S3 or any other link')}, maxlength=255),
    ]

file_type_options = lambda: registered_media_types()
file_types = lambda: (id for id, name in registered_media_types())
file_type_validator = OneOfGenerator(file_types, if_missing=None)

class EditFileForm(ListForm):
    template = 'admin/media/file-edit-form.html'
    submit_text = None
    _name = 'fileeditform'
    params = ['file']
    
    event = events.Admin.EditFileForm
    
    class fields(WidgetsList):
        file_id = TextField(validator=Int())
        file_type = SingleSelectField(validator=file_type_validator, options=file_type_options, attrs={'id': None, 'autocomplete': 'off'})
        duration = TextField(validator=DurationValidator, attrs={'id': None, 'autocomplete': 'off'})
Exemple #3
0
        """
        uris = []
        info = dict(
            container = file.container,
            type = file.type,
            display_name = file.display_name,
            created = file.created_on.isoformat(),
            url = url_for_media(media, qualified=True),
            uris = uris,
        )
        for uri in file.get_uris():
            uris.append({
                'scheme': uri.scheme,
                'uri': str(uri),
                'server': uri.server_uri,
                'file': uri.file_uri,
            })
        return info

#XXX: Dirty hack to set the actual strings for filetypes, in our docstrings,
#     based on the canonical definitions in the filetypes module.
from mediadrop.lib.filetypes import registered_media_types, AUDIO, VIDEO
_types_list = "'%s'" % ("', '".join(id for id, name in registered_media_types()))
MediaController._file_info.im_func.__doc__ = \
        MediaController._file_info.im_func.__doc__ % _types_list
MediaController._info.im_func.__doc__ = \
        MediaController._info.im_func.__doc__ % (AUDIO, VIDEO)
MediaController.index.im_func.__doc__ = \
        MediaController.index.im_func.__doc__ % (AUDIO, VIDEO)
Exemple #4
0
        uris = []
        info = dict(
            container=file.container,
            type=file.type,
            display_name=file.display_name,
            created=file.created_on.isoformat(),
            url=url_for_media(media, qualified=True),
            uris=uris,
        )
        for uri in file.get_uris():
            uris.append({
                'scheme': uri.scheme,
                'uri': str(uri),
                'server': uri.server_uri,
                'file': uri.file_uri,
            })
        return info


#XXX: Dirty hack to set the actual strings for filetypes, in our docstrings,
#     based on the canonical definitions in the filetypes module.
from mediadrop.lib.filetypes import registered_media_types, AUDIO, VIDEO
_types_list = "'%s'" % ("', '".join(id
                                    for id, name in registered_media_types()))
MediaController._file_info.im_func.__doc__ = \
        MediaController._file_info.im_func.__doc__ % _types_list
MediaController._info.im_func.__doc__ = \
        MediaController._info.im_func.__doc__ % (AUDIO, VIDEO)
MediaController.index.im_func.__doc__ = \
        MediaController.index.im_func.__doc__ % (AUDIO, VIDEO)