Example #1
0
def wrapper(_list_, limit=5, score=70):

    results = []

    if not _list_:
        return

    term = control.inputDialog()

    if not term:
        return

    try:
        term = term.decode('utf-8')
    except AttributeError:
        pass

    control.busy()

    titles = [i['title'].encode('unicode-escape') for i in _list_]

    matches = [
        titles.index(l) for l, s in process.extract(
            term.encode('unicode-escape'), titles, limit=limit
        ) if s >= score
    ]

    for m in matches:
        results.append(_list_[m])

    control.idle()

    return results
Example #2
0
def pin():

    control.busy()

    title = control.infoLabel('ListItem.Title')

    pin_to_file(PINNED, title)

    control.infoDialog(control.lang(30338), time=750)

    control.idle()
def play(url, meta=None, quality=None):

    if meta:

        control.busy()

    stream = resolver(url, quality)

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

    dash = ('.mpd' in stream or 'dash' in stream or '.ism' in stream
            or '.hls' in stream or '.m3u8' in stream) and isa_enabled

    mimetype = None

    if isinstance(meta, dict):

        control.idle()

        if meta['title'] == 'custom':

            title = control.inputDialog()

            meta['title'] = title

    if dash and control.setting('disable_mpd') == 'false':

        if '.hls' in stream or 'm3u8' in stream:
            manifest_type = 'hls'
            mimetype = 'application/vnd.apple.mpegurl'
        elif '.ism' in stream:
            manifest_type = 'ism'
        else:
            manifest_type = 'mpd'

        log_debug('Activating MPEG-DASH for this url: ' + stream)

        directory.resolve(stream,
                          meta=meta,
                          dash=dash,
                          manifest_type=manifest_type,
                          mimetype=mimetype,
                          resolved_mode=meta is None)

    else:

        directory.resolve(stream, meta=meta, resolved_mode=meta is None)
Example #4
0
def unpin():

    control.busy()

    title = control.infoLabel('ListItem.Title')

    unpin_from_file(PINNED, title)

    control.sleep(100)
    control.refresh()

    control.infoDialog(control.lang(30338), time=750)

    control.idle()
def play(url, meta=None):

    if meta:

        control.busy()

    stream = router(url)

    if isinstance(meta, dict):

        control.idle()

        if meta['title'] == 'custom':

            title = control.inputDialog()

            meta['title'] = title

    directory.resolve(stream, meta=meta, resolved_mode=meta is None)