Example #1
0
def get_youku_playlist():
    """
    获取认证用户的playlist
    :return:
    """
    service = YoukuPlaylists(CLIENT_ID)
    youku_access_token = youku_get_authenticate()
    # http://doc.open.youku.com/?docid=377
    # 视频ID用逗号来分割,每个专辑最多200个视频,限制单次操作视频的最大个数,默认20
    # video_ids=850,860,870,880
    playlist_json = service.find_playlists_by_me(
        access_token=youku_access_token,
        orderby='published', page=1, count=20)




# def upload_playlist_video(num, user):
#     upload_num = 0
#     # 如果该视频已下载,但是未上传到优酷,则上传
#     if video.is_upload == False:
#         # video对象还没有创建对应的youku对象怎么办?
#         youku_upload(video.youku.id)
#         # 在优酷上设置视频的playlist
#         set_youku_playlist_online_from_config_playlist(video_id)
#         upload_num = upload_num + 1
#         if upload_num <= num:
#             break
#     result_list.append({'download_num': download_num,
#                         'upload_num': upload_num,
#                         'text': text})
Example #2
0
def set_youku_playlist_online(youku_video_id, playlist_id):
    """
    根据youku的youkuplaylist属性,在优酷网上将youku对象添加到该playlist中

    一个视频可以加入多个playlist,所以在youku中设置playlist后,如果不执行del_videos_from_playlist
    操作,视频仍然属于该playlist
    :param youku_id:
    :return:
    """

    service = YoukuPlaylists(CLIENT_ID)
    youku_access_token = youku_get_authenticate()
    # http://doc.open.youku.com/?docid=377
    # 视频ID用逗号来分割,每个专辑最多200个视频,限制单次操作视频的最大个数,默认20
    # video_ids=850,860,870,880
    # 返回的是专辑ID
    playlist_id = service.add_videos_to_playlist(
        access_token=youku_access_token,
        playlist_id=playlist_id,
        video_ids=youku_video_id)

    if playlist_id:
        return playlist_id
    else:
        return False
Example #3
0
def get_youku_playlist():
    """
    获取认证用户的playlist
    :return:
    """
    service = YoukuPlaylists(CLIENT_ID)
    youku_access_token = youku_get_authenticate()
    # http://doc.open.youku.com/?docid=377
    # 视频ID用逗号来分割,每个专辑最多200个视频,限制单次操作视频的最大个数,默认20
    # video_ids=850,860,870,880
    playlist_json = service.find_playlists_by_me(
        access_token=youku_access_token, orderby='published', page=1, count=20)


# def upload_playlist_video(num, user):
#     upload_num = 0
#     # 如果该视频已下载,但是未上传到优酷,则上传
#     if video.is_upload == False:
#         # video对象还没有创建对应的youku对象怎么办?
#         youku_upload(video.youku.id)
#         # 在优酷上设置视频的playlist
#         set_youku_playlist_online_from_config_playlist(video_id)
#         upload_num = upload_num + 1
#         if upload_num <= num:
#             break
#     result_list.append({'download_num': download_num,
#                         'upload_num': upload_num,
#                         'text': text})
Example #4
0
def set_youku_playlist_online(youku_video_id, playlist_id):
    """
    根据youku的youkuplaylist属性,在优酷网上将youku对象添加到该playlist中

    一个视频可以加入多个playlist,所以在youku中设置playlist后,如果不执行del_videos_from_playlist
    操作,视频仍然属于该playlist
    :param youku_id:
    :return:
    """

    service = YoukuPlaylists(CLIENT_ID)
    youku_access_token = youku_get_authenticate()
    # http://doc.open.youku.com/?docid=377
    # 视频ID用逗号来分割,每个专辑最多200个视频,限制单次操作视频的最大个数,默认20
    # video_ids=850,860,870,880
    # 返回的是专辑ID
    playlist_id = service.add_videos_to_playlist(
        access_token=youku_access_token,
        playlist_id=playlist_id,
        video_ids=youku_video_id)

    if playlist_id:
        return playlist_id
    else:
        return False
Example #5
0
def delete_video_from_playlist(youku_video_id, playlist_id):
    """
    在playlist_id的优酷playlist中删除youku_video_id视频
    :param youku_video_id:
    :param playlist_id:
    :return:
    """
    service = YoukuPlaylists(CLIENT_ID)
    youku_access_token = youku_get_authenticate()

    try:
        id = service.del_videos_from_playlist(access_token=youku_access_token,
                                              playlist_id=playlist_id,
                                              video_ids=youku_video_id)
    except:
        # 如果playlist_id中没有youku_video_id,会提示异常,忽略即可
        pass
        return False

    if id:
        return id
    else:
        return False
Example #6
0
def delete_video_from_playlist(youku_video_id, playlist_id):
    """
    在playlist_id的优酷playlist中删除youku_video_id视频
    :param youku_video_id:
    :param playlist_id:
    :return:
    """
    service = YoukuPlaylists(CLIENT_ID)
    youku_access_token = youku_get_authenticate()

    try:
        id = service.del_videos_from_playlist(access_token=youku_access_token,
                                              playlist_id=playlist_id,
                                              video_ids=youku_video_id)
    except:
        # 如果playlist_id中没有youku_video_id,会提示异常,忽略即可
        pass
        return False

    if id:
        return id
    else:
        return False
Example #7
0
 def setUp(self):
     self.youku = YoukuPlaylists(CLIENT_ID)
Example #8
0
class PlaylistsTest(unittest.TestCase):

    def setUp(self):
        self.youku = YoukuPlaylists(CLIENT_ID)

    def test_find_playlist_by_id(self):
        pl = self.youku.find_playlist_by_id(PL_ID)
        self.assertIsNotNone(pl['name'])

    def test_find_playlists_by_ids(self):
        pl = self.youku.find_playlists_by_ids(PL_ID)
        self.assertGreater(pl['total'], 0)

    def test_find_playlists_by_category(self):
        pl = self.youku.find_playlists_by_category(
            u'资讯', period='month')
        self.assertGreater(pl['total'], 0)

    def test_find_playlists_by_me(self):
        pl = self.youku.find_playlists_by_me(ACCESS_TOKEN)
        self.assertIsNotNone(pl['total'])

    def test_find_playlists_by_userid(self):
        pl = self.youku.find_playlists_by_userid(USER_ID)
        self.assertIsNotNone(pl['total'])

    def test_find_playlists_by_username(self):
        pl = self.youku.find_playlists_by_username(USER_NAME)
        self.assertIsNotNone(pl['total'])

    def test_find_videos_by_playlist(self):
        pl = self.youku.find_videos_by_playlist(PL_ID)
        self.assertIsNotNone(pl['total'])

    def test_playlist_crud(self):
        pid = self.youku.create_playlist(ACCESS_TOKEN,
                                         'title',
                                         'test,other',
                                         description='description')
        pid = self.youku.update_playlist(ACCESS_TOKEN, pid, 'update title')
        pid = self.youku.add_videos_to_playlist(ACCESS_TOKEN, pid, VIDEO_ID)
        pid = self.youku.add_videos_to_playlist(ACCESS_TOKEN, pid,
                                                'XODY4MzMyMzA4')
        pid = self.youku.set_cover_video_for_playlist(ACCESS_TOKEN,
                                                      pid, VIDEO_ID)
        self.youku.find_next_video_in_playlist(pid, VIDEO_ID)
        pid = self.youku.del_videos_from_playlist(ACCESS_TOKEN, pid, VIDEO_ID)
        pid = self.youku.destroy_playlist(ACCESS_TOKEN, pid)