def resolve(url):

    if RADIO_BASE in url:

        return cached_resolve(url)

    elif 'plugin://' in url:

        vid = re.search(r'video_id=([\w-]{11})', url).group(1)

        streams = yt_resolver(vid)

        try:
            addon_enabled = control.addon_details('inputstream.adaptive').get('enabled')
        except KeyError:
            addon_enabled = False

        if not addon_enabled:
            streams = [s for s in streams if 'mpd' not in s['title'].lower()]

        stream = streams[0]['url']

        return stream

    else:

        return cached_resolve(url)
示例#2
0
    def yt_session(yt_id):

        streams = yt_resolver(yt_id)

        try:
            addon_enabled = control.addon_details('inputstream.adaptive').get('enabled')
        except KeyError:
            addon_enabled = False

        if not addon_enabled:
            streams = [s for s in streams if 'mpd' not in s['title'].lower()]

        stream = streams[0]['url']

        return stream