Пример #1
0
def videos(request):
    """
    This function renders the videos page.
    """
    _videos = Video.objects.filter(status=strings.Constant.READY)
    context = get_context(strings.Page.VIDEOS)
    context.update({'videos': _videos})
    return render(request, 'video/videos.html', context)
Пример #2
0
def tags(request):
    """
    This function renders the tags page.
    """
    _tags = Tag.objects.all()
    _tags = sorted(_tags, key=lambda t: t.get_number_of_videos(), reverse=True)

    context = get_context(strings.Page.TAGS)
    context.update({'tags': _tags})
    return render(request, 'tag/tags.html', context)
Пример #3
0
def tag(request, url):
    """
    This function renders the tag page.
    """
    _tag = get_object_or_404(Tag, url=url)
    videos = Video.objects.filter(tag=_tag)

    context = get_context(strings.Page.TAG)
    context.update({'tag': _tag, 'videos': videos})

    return render(request, 'tag/tag.html', context)
Пример #4
0
def upload(request):
    """
    This function renders the upload page.
    """
    context = get_context(strings.Page.UPLOAD)

    # Save the uploaded video and start processing.
    if request.method == 'POST':
        file = request.FILES.get('file')
        name, _ = os.path.splitext(str(file))
        Video.objects.create(name=name, video=file)

    return render(request, 'upload/upload.html', context)
Пример #5
0
def video(request, url, action=None):
    """
    This function renders the video page.
    """
    _video = get_object_or_404(Video, url=url, status=strings.Constant.READY)
    playlists = Playlist.objects.all()

    context = get_context(strings.Page.VIDEO)
    context.update({'video': _video, 'playlists': playlists})

    if action == 'success':
        context.update({'toast_title': 'Success', 'toast_message': 'Video has been saved.'})

    return render(request, 'video/video.html', context)
Пример #6
0
def upload_status(request):
    """
    This function renders the upload status page.
    """
    context = get_context(strings.Page.UPLOAD_STATUS)
    videos = get_videos()
    context.update({'videos': videos})

    # This returns a dictionary of video url and the status of the video.
    if request.method == 'POST':
        data = {}
        for video in videos:
            data.update({video.url: video.status})
        return JsonResponse(data)

    return render(request, 'upload/upload-status.html', context)
Пример #7
0
def edit_video(request, url):
    """
    This function renders the edit video page.
    """
    _video = get_object_or_404(Video, url=url)

    context = get_context(strings.Page.EDIT_VIDEO)
    context.update({'video': _video})

    # This is an AJAX call.
    if request.method == 'POST':
        form = EditVideoForm(request.POST)

        # Save video details and redirect to video page.
        if form.is_valid():
            _video.update_details(form.cleaned_data)
            return JsonResponse(strings.Constant.SUCCESS)

        else:
            return JsonResponse(dict(form.errors.items()))

    return render(request, 'video/edit-video.html', context)