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})
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 })
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