Пример #1
0
def video(file_and_save=True, **kwargs):
    """Return a saved video."""
    u = None
    if 'creator' not in kwargs:
        u = user(save=True)

    defaults = {
        'title': 'Some title',
        'description': 'Some description',
        'creator': u
    }
    defaults.update(kwargs)

    vid = Video(**defaults)
    if not file_and_save:
        return vid

    if 'file' not in kwargs:
        with open('kitsune/gallery/tests/media/test.webm') as f:
            up_file = File(f)
            vid.webm.save(up_file.name, up_file, save=False)
        with open('kitsune/gallery/tests/media/test.ogv') as f:
            up_file = File(f)
            vid.ogv.save(up_file.name, up_file, save=False)
        with open('kitsune/gallery/tests/media/test.flv') as f:
            up_file = File(f)
            vid.flv.save(up_file.name, up_file, save=False)
        vid.save()

    return vid
Пример #2
0
def video(file_and_save=True, **kwargs):
    """Return a saved video."""
    u = None
    if 'creator' not in kwargs:
        u = user(save=True)

    defaults = {'title': 'Some title', 'description': 'Some description',
                'creator': u}
    defaults.update(kwargs)

    vid = Video(**defaults)
    if not file_and_save:
        return vid

    if 'file' not in kwargs:
        with open('kitsune/gallery/tests/media/test.webm') as f:
            up_file = File(f)
            vid.webm.save(up_file.name, up_file, save=False)
        with open('kitsune/gallery/tests/media/test.ogv') as f:
            up_file = File(f)
            vid.ogv.save(up_file.name, up_file, save=False)
        with open('kitsune/gallery/tests/media/test.flv') as f:
            up_file = File(f)
            vid.flv.save(up_file.name, up_file, save=False)
        vid.save()

    return vid
Пример #3
0
def create_video(files, user):
    """Given an uploaded file, a user, and other data, it creates a Video"""
    try:
        vid = Video.objects.filter(creator=user, is_draft=True)
        # Delete other drafts, if any:
        vid.exclude(pk=vid[0].pk).delete()
        vid = vid[0]
    except IndexError:  # No drafts, create one
        vid = Video(creator=user, is_draft=True)
    # Async uploads fallback to these defaults.
    vid.title = get_draft_title(user)
    vid.description = u'Autosaved draft.'
    vid.locale = settings.WIKI_DEFAULT_LANGUAGE

    for name in files:
        up_file = files[name]
        check_file_size(up_file, settings.VIDEO_MAX_FILESIZE)
        # name is in (webm, ogv, flv) sent from upload_video(), below
        getattr(vid, name).save(up_file.name, up_file, save=False)

        if 'thumbnail' == name:
            # Save poster too, we shrink it later.
            vid.poster.save(up_file.name, up_file, save=False)

    vid.save()
    if 'thumbnail' in files:
        thumb = vid.thumbnail
        (width, height) = _scale_dimensions(thumb.width, thumb.height)
    else:
        width = settings.THUMBNAIL_PROGRESS_WIDTH
        height = settings.THUMBNAIL_PROGRESS_HEIGHT
    delete_url = reverse('gallery.delete_media', args=['video', vid.id])
    return {'name': up_file.name, 'url': vid.get_absolute_url(),
            'thumbnail_url': vid.thumbnail_url_if_set(),
            'width': width,
            'height': height,
            'delete_url': delete_url}