Пример #1
0
def search_index(section):
    storage = container.search_storage()
    if 'search_term' in storage:
        del storage['search_term']
    context_menu = [
        (lang(40309), actions.background(plugin.url_for('clear_search_history')))
    ]
    items = [{
        'label': lang(34009),
        'path': plugin.url_for('new_search', section=section),
        'context_menu': context_menu,
        'replace_context_menu': True,
    }, {
        'label': lang(34010),
        'path': plugin.url_for('advanced_search', section=section),
        'context_menu': context_menu,
        'replace_context_menu': True,
    }]
    if 'search_recent' in storage:
        items.extend([{
            'label': s,
            'path': plugin.url_for('do_search', section=section, name=s),
            'context_menu': context_menu + [
                (lang(40311), actions.background(plugin.url_for('delete_search', name=s)))
            ],
            'replace_context_menu': True,
        } for s in reversed(storage['search_recent'])])
    plugin.finish(with_fanart(items))
Пример #2
0
def delete_search(name):
    storage = container.search_storage()
    if 'search_recent' in storage:
        recent = storage['search_recent']
        recent.remove(str(name))
        storage['search_recent'] = recent
    plugin.refresh()
Пример #3
0
def new_search(section):
    storage = container.search_storage()
    if 'search_term' in storage:
        value = storage['search_term']
    else:
        value = plugin.keyboard(heading=lang(40310))
        if not value:
            return
        storage['search_term'] = value
    plugin.redirect(plugin.url_for('do_search', section=section, name=value, new=True))
Пример #4
0
def do_search(section, name):
    plugin.set_content('movies')
    section = Section.find(section)
    sf = container.search_filter(section=section, name=str(name))
    if not make_search(sf):
        notify(lang(40312) % ensure_unicode(name))
    elif plugin.request.arg('new'):
        storage = container.search_storage()
        recent = storage.get('search_recent', [])
        if name in recent:
            recent.remove(name)
        recent.append(name)
        storage['search_recent'] = recent
        count = plugin.get_setting('search-items-count', int)
        if len(recent) > count:
            del recent[:len(recent)-count]
Пример #5
0
def clear_search_history():
    storage = container.search_storage()
    del storage['search_recent']
    plugin.refresh()