当前位置: 首页>>代码示例>>Python>>正文


Python v3.handle_error函数代码示例

本文整理汇总了Python中resources.lib.youtube.helper.v3.handle_error函数的典型用法代码示例。如果您正苦于以下问题:Python handle_error函数的具体用法?Python handle_error怎么用?Python handle_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了handle_error函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _process_add

def _process_add(provider, context, re_match):
    subscription_id = context.get_param('subscription_id', '')
    if subscription_id:
        json_data = provider.get_client(context).subscribe(subscription_id)
        if not v3.handle_error(provider, context, json_data):
            return False
    return True
开发者ID:Kolifanes,项目名称:plugin.video.youtube,代码行数:7,代码来源:yt_subscriptions.py

示例2: _process_rate_video

def _process_rate_video(provider, context, re_match):
    video_id = context.get_param('video_id', '')
    if not video_id:
        raise kodion.KodionException('video/rate: missing video_id')

    client = provider.get_client(context)
    json_data = client.get_video_rating(video_id)
    if not v3.handle_error(provider, context, json_data):
        return False

    items = json_data.get('items', [])
    if items:
        current_rating = items[0].get('rating', '')
        ratings = ['like', 'dislike', 'none']
        rating_items = []
        for rating in ratings:
            if rating != current_rating:
                rating_items.append((context.localize(provider.LOCAL_MAP['youtube.video.rate.%s' % rating]), rating))
                pass
            pass
        result = context.get_ui().on_select(context.localize(provider.LOCAL_MAP['youtube.video.rate']), rating_items)
        if result != -1:
            client = provider.get_client(context).rate_video(video_id, result)

            # this will be set if we are in the 'Liked Video' playlist
            if context.get_param('refresh_container', '0') == '1':
                context.get_ui().refresh_container()
                pass
            pass
        pass
    pass
开发者ID:Avbrella,项目名称:plugin.video.youtube,代码行数:31,代码来源:yt_video.py

示例3: _process_disliked_videos

def _process_disliked_videos(provider, context, re_match):
    result = []

    page_token = context.get_param('page_token', '')
    json_data = provider.get_client(context).get_disliked_videos(page_token=page_token)
    if not v3.handle_error(provider, context, json_data):
        return False
    result.extend(v3.response_to_items(provider, context, json_data))
    return result
开发者ID:EifX,项目名称:plugin.video.youtube,代码行数:9,代码来源:yt_specials.py

示例4: _process_recommendations

def _process_recommendations(provider, context, re_match):
    result = []

    page_token = context.get_param('page_token', '')
    json_data = provider.get_client(context).get_activities('home', page_token=page_token)
    if not v3.handle_error(provider, context, json_data):
        return False
    result.extend(v3.response_to_items(provider, context, json_data))
    return result
开发者ID:EifX,项目名称:plugin.video.youtube,代码行数:9,代码来源:yt_specials.py

示例5: _process_remove

def _process_remove(provider, context, re_match):
    subscription_id = context.get_param('subscription_id', '')
    if subscription_id:
        json_data = provider.get_client(context).unsubscribe(subscription_id)
        if not v3.handle_error(provider, context, json_data):
            return False

        context.get_ui().refresh_container()
        pass
    return True
开发者ID:Kolifanes,项目名称:plugin.video.youtube,代码行数:10,代码来源:yt_subscriptions.py

示例6: _process_browse_channels

def _process_browse_channels(provider, context, re_match):
    result = []

    page_token = context.get_param('page_token', '')
    guide_id = context.get_param('guide_id', '')
    if guide_id:
        json_data = provider.get_client(context).get_guide_category(guide_id)
        if not v3.handle_error(provider, context, json_data):
            return False
        result.extend(v3.response_to_items(provider, context, json_data))
        pass
    else:
        json_data = provider.get_client(context).get_guide_categories()
        if not v3.handle_error(provider, context, json_data):
            return False
        result.extend(v3.response_to_items(provider, context, json_data))
        pass

    return result
开发者ID:Kolifanes,项目名称:plugin.video.youtube,代码行数:19,代码来源:yt_specials.py

示例7: _process_select_playlist

def _process_select_playlist(provider, context, re_match):
    json_data = context.get_function_cache().get(FunctionCache.ONE_MINUTE / 3,
                                                 provider.get_client(context).get_playlists_of_channel,
                                                 channel_id='mine')
    playlists = json_data.get('items', [])

    items = []
    # create playlist
    items.append(('[B]' + context.localize(provider.LOCAL_MAP['youtube.playlist.create']) + '[/B]', 'playlist.create'))

    # add the 'Watch Later' playlist
    resource_manager = provider.get_resource_manager(context)
    my_playlists = resource_manager.get_related_playlists(channel_id='mine')
    if 'watchLater' in my_playlists:
        watch_later_playlist_id = my_playlists.get('watchLater', '')
        items.append(
            ('[B]' + context.localize(provider.LOCAL_MAP['youtube.watch_later']) + '[/B]', watch_later_playlist_id))
        pass

    for playlist in playlists:
        snippet = playlist.get('snippet', {})
        title = snippet.get('title', '')
        playlist_id = playlist.get('id', '')
        if title and playlist_id:
            items.append((title, playlist_id))
            pass
        pass

    result = context.get_ui().on_select(context.localize(provider.LOCAL_MAP['youtube.playlist.select']), items)
    if result == 'playlist.create':
        result, text = context.get_ui().on_keyboard_input(
            context.localize(provider.LOCAL_MAP['youtube.playlist.create']))
        if result and text:
            json_data = provider.get_client(context).create_playlist(title=text)
            if not v3.handle_error(provider, context, json_data):
                return

            playlist_id = json_data.get('id', '')
            if playlist:
                new_params = {}
                new_params.update(context.get_params())
                new_params['playlist_id'] = playlist_id
                new_context = context.clone(new_params=new_params)
                _process_add_video(provider, new_context, re_match)
                pass
            pass
        pass
    elif result != -1:
        new_params = {}
        new_params.update(context.get_params())
        new_params['playlist_id'] = result
        new_context = context.clone(new_params=new_params)
        _process_add_video(provider, new_context, re_match)
        pass
    pass
开发者ID:404NetworkError,项目名称:plugin.video.youtube,代码行数:55,代码来源:yt_playlist.py

示例8: _process_list

def _process_list(provider, context, re_match):
    result = []

    page_token = context.get_param('page_token', '')
    # no caching
    json_data = provider.get_client(context).get_subscription('mine', page_token=page_token)
    if not v3.handle_error(provider, context, json_data):
        return []
    result.extend(v3.response_to_items(provider, context, json_data))

    return result
开发者ID:Kolifanes,项目名称:plugin.video.youtube,代码行数:11,代码来源:yt_subscriptions.py

示例9: _process_remove_playlist

def _process_remove_playlist(provider, context, re_match):
    playlist_id = context.get_param('playlist_id', '')
    if not playlist_id:
        raise kodion.KodimonException('Playlist/Remove: missing playlist_id')

    json_data = provider.get_client(context).remove_playlist(playlist_id=playlist_id)
    if not v3.handle_error(provider, context, json_data):
        return False

    context.get_ui().refresh_container()
    return True
开发者ID:Razzeee,项目名称:plugin.video.bromix.youtube,代码行数:11,代码来源:yt_playlist.py

示例10: _process_popular_right_now

def _process_popular_right_now(provider, context, re_match):
    provider.set_content_type(context, kodion.constants.content_type.VIDEOS)

    result = []

    page_token = context.get_param('page_token', '')
    json_data = provider.get_client(context).get_popular_videos(page_token=page_token)
    if not v3.handle_error(provider, context, json_data):
        return False
    result.extend(v3.response_to_items(provider, context, json_data))

    return result
开发者ID:Kolifanes,项目名称:plugin.video.youtube,代码行数:12,代码来源:yt_specials.py

示例11: _process_add_video

def _process_add_video(provider, context, re_match):
    playlist_id = context.get_param('playlist_id', '')
    if not playlist_id:
        raise kodion.KodionException('Playlist/Remove: missing playlist_id')
    video_id = context.get_param('video_id', '')
    if not video_id:
        raise kodion.KodionException('Playlist/Remove: missing video_id')

    json_data = provider.get_client(context).add_video_to_playlist(playlist_id=playlist_id, video_id=video_id)
    if not v3.handle_error(provider, context, json_data):
        return False

    return True
开发者ID:404NetworkError,项目名称:plugin.video.youtube,代码行数:13,代码来源:yt_playlist.py

示例12: _process_related_videos

def _process_related_videos(provider, context, re_match):
    result = []

    provider.set_content_type(context, kodion.constants.content_type.VIDEOS)

    page_token = context.get_param('page_token', '')
    video_id = context.get_param('video_id', '')
    if video_id:
        json_data = provider.get_client(context).get_related_videos(video_id=video_id, page_token=page_token)
        if not v3.handle_error(provider, context, json_data):
            return False
        result.extend(v3.response_to_items(provider, context, json_data, process_next_page=False))
        pass

    return result
开发者ID:Kolifanes,项目名称:plugin.video.youtube,代码行数:15,代码来源:yt_specials.py

示例13: _process_live_events

def _process_live_events(provider, context, re_match):
    def _sort(x):
        return x.get_aired()

    provider.set_content_type(context, kodion.constants.content_type.EPISODES)

    result = []

    # TODO: cache result
    page_token = context.get_param('page_token', '')
    json_data = provider.get_client(context).get_live_events(event_type='live', page_token=page_token)
    if not v3.handle_error(provider, context, json_data):
        return False
    result.extend(v3.response_to_items(provider, context, json_data, sort=_sort, reverse_sort=True))

    return result
开发者ID:EifX,项目名称:plugin.video.youtube,代码行数:16,代码来源:yt_specials.py

示例14: _process_rename_playlist

def _process_rename_playlist(provider, context, re_match):
    playlist_id = context.get_param('playlist_id', '')
    if not playlist_id:
        raise kodion.KodionException('playlist/rename: missing playlist_id')

    current_playlist_name = context.get_param('playlist_name', '')
    result, text = context.get_ui().on_keyboard_input(context.localize(provider.LOCAL_MAP['youtube.rename']),
                                                      default=current_playlist_name)
    if result and text:
        json_data = provider.get_client(context).rename_playlist(playlist_id=playlist_id, new_title=text)
        if not v3.handle_error(provider, context, json_data):
            return

        context.get_ui().refresh_container()
        pass
    pass
开发者ID:404NetworkError,项目名称:plugin.video.youtube,代码行数:16,代码来源:yt_playlist.py

示例15: _load_videos

    def _load_videos(_page_token='', _progress_dialog=None):
        if not _progress_dialog:
            _progress_dialog = context.get_ui().create_progress_dialog(
                context.localize(provider.LOCAL_MAP['youtube.playlist.progress.updating']),
                context.localize(constants.localize.COMMON_PLEASE_WAIT), background=True)
            pass
        json_data = client.get_playlist_items(playlist_id, page_token=_page_token)
        if not v3.handle_error(provider, context, json_data):
            return False
        _progress_dialog.set_total(int(json_data.get('pageInfo', {}).get('totalResults', 0)))
        result = v3.response_to_items(provider, context, json_data, process_next_page=False)
        videos.extend(result)
        progress_text = '%s %d/%d' % (
            context.localize(constants.localize.COMMON_PLEASE_WAIT), len(videos), _progress_dialog.get_total())
        _progress_dialog.update(steps=len(result), text=progress_text)

        next_page_token = json_data.get('nextPageToken', '')
        if next_page_token:
            _load_videos(_page_token=next_page_token, _progress_dialog=_progress_dialog)
            pass

        return _progress_dialog
开发者ID:Avbrella,项目名称:plugin.video.youtube,代码行数:22,代码来源:yt_play.py


注:本文中的resources.lib.youtube.helper.v3.handle_error函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。