예제 #1
0
def get_youtube_playlist_video_info_view(request, youtube_playlist_id,
                                         max_results=50):
    """
    获取youtube_playlist_id的所有video的信息,并保存
    :param request:
    :param youtube_playlist_id:
    :param max_results:
    :return:
    """
    result = get_youtube_playlist_video_info(youtube_playlist_id, max_results)
    if result:
        video_list = result
        text = 'YouTube Playlist' + youtube_playlist_id + '的视频已保存'
    else:
        video_list = []
        text = '获取youtube视频信息失败'

    return render_to_response('result.html',
                              {'text': text,
                               'dict_in_list': video_list})
예제 #2
0
def get_youtube_playlist_video_info_view(request,
                                         youtube_playlist_id,
                                         max_results=50):
    """
    获取youtube_playlist_id的所有video的信息,并保存
    :param request:
    :param youtube_playlist_id:
    :param max_results:
    :return:
    """
    result, result_text = get_youtube_playlist_video_info(
        youtube_playlist_id, max_results)
    if result:
        video_list = result
    else:
        video_list = []

    return render_to_response('result.html', {
        'text': result_text,
        'dict_in_list': video_list
    })
예제 #3
0
def download_playlist_video(num):
    """
    下载config model中设置好的youtube playlist中的num个视频,并上传到优酷,设置其playlist
    :param num:
    :return:
    """
    playlist_config_list = PlaylistConfig.objects.filter(is_enable=True)
    result_list = []
    for playlist_config in playlist_config_list:
        # 如果设置了需要下载的youtube playlist,则获取该playlist下的video id,下载
        if playlist_config.youtube_playlist.playlist_id:
            # 获取youtube_playlist中的视频的video_id
            result = get_youtube_playlist_video_info(
                youtube_playlist_id=playlist_config.youtube_playlist
                    .playlist_id, max_results=int(num))
            if result:
                video_info_list = result
                text = 'YouTube Playlist' + \
                       playlist_config.youtube_playlist.playlist_id + '的视频已保存'
                download_num = 0
                upload_num = 0
                # 下载该playlist中的视频
                for video_info in video_info_list:
                    video_id = video_info['video_id']
                    video = Video.objects.get(video_id=video_id)
                    # 如果该视频未下载,则下载视频文件和字幕文件
                    if video.is_download == False:
                        download_single_youtube_video_main.si(video_id,
                                                              max_retey=5,
                                                              file_extend='mp4')
                        # download_subtitle.si(video_id)

                        download_num = download_num + 1
                        if download_num <= num:
                            break
            else:
                video_list = []
                text = '获取youtube playlist的视频信息失败'
    return result_list