def list_search(self, tmdb_type, query=None, update_listing=False, page=None, **kwargs):
        original_query = query

        if not query:
            query = set_search_history(
                query=xbmcgui.Dialog().input(ADDON.getLocalizedString(32044), type=xbmcgui.INPUT_ALPHANUM),
                tmdb_type=tmdb_type)
            if not query:
                return
        elif kwargs.get('history', '').lower() == 'true':  # Force saving history
            set_search_history(query=query, tmdb_type=tmdb_type)

        items = self.tmdb_api.get_search_list(
            tmdb_type=tmdb_type, query=query, page=page,
            year=kwargs.get('year'),
            first_air_date_year=kwargs.get('first_air_date_year'),
            primary_release_year=kwargs.get('primary_release_year'))

        if not original_query:
            params = merge_two_dicts(kwargs, {
                'info': 'search', 'tmdb_type': tmdb_type, 'page': page, 'query': query,
                'update_listing': 'True'})
            self.container_update = u'{}?{}'.format(PLUGINPATH, urlencode(params))
            # Trigger container update using new path with query after adding items
            # Prevents onback from re-prompting for user input by re-writing path

        self.update_listing = True if update_listing else False
        self.container_content = convert_type(tmdb_type, 'container')
        self.kodi_db = self.get_kodi_database(tmdb_type)

        return items
def _save_rules(tmdb_type):
    my_idx = try_int(_win_prop('save_index'), fallback=-1)
    params = _get_discover_params(tmdb_type)
    labels = _get_discover_params(tmdb_type, get_labels=True)
    label = _win_prop('save_label') if my_idx != -1 else xbmcgui.Dialog().input(ADDON.getLocalizedString(32241))
    set_search_history(
        'discover',
        query={'label': label, 'params': params, 'labels': labels},
        replace=my_idx if my_idx != -1 else False)
    xbmcgui.Dialog().ok(u'{} {}'.format(xbmc.getLocalizedString(35259), label), u'{}'.format(params))
    def list_discoverdir_router(self, **kwargs):
        if kwargs.get('clear_cache') != 'True' and kwargs.get(
                'method') not in ['delete', 'rename']:
            return self.list_discoverdir(**kwargs)

        params = kwargs.copy()
        params.pop('clear_cache', None)
        params.pop('method', None)
        params.pop('idx', None)
        self.container_update = '{},replace'.format(
            encode_url(PLUGINPATH, **params))

        if kwargs.get('clear_cache') == 'True':
            set_search_history('discover', clear_cache=True)

        elif kwargs.get('method') == 'delete':
            idx = try_int(kwargs.get('idx', -1))
            if idx == -1:
                return
            set_search_history('discover', replace=idx)

        elif kwargs.get('method') == 'rename':
            idx = try_int(kwargs.get('idx', -1))
            if idx == -1:
                return
            history = get_search_history('discover')
            try:
                item = history[idx]
            except IndexError:
                return
            if not item:
                return
            item['label'] = xbmcgui.Dialog().input(
                'Rename', defaultt=item.get('label')) or item.get('label')
            set_search_history('discover', item, replace=idx)
Beispiel #4
0
 def list_searchdir_router(self, tmdb_type, **kwargs):
     if kwargs.get('clear_cache') != 'True':
         return self.list_searchdir(tmdb_type, **kwargs)
     cache.set_search_history(tmdb_type, clear_cache=True)
     self.container_refresh = True
Beispiel #5
0
 def list_multisearchdir_router(self, **kwargs):
     if kwargs.get('clear_cache') != 'True':
         return self._list_multisearchdir(**kwargs)
     for tmdb_type in MULTISEARCH_TYPES:
         cache.set_search_history(tmdb_type, clear_cache=True)
     self.container_refresh = True