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)
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
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