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(self, tmdb_type, clear_cache_item=True, append_type=False, **kwargs): base_item = { 'label': u'{} {}'.format(xbmc.getLocalizedString(137), convert_type(tmdb_type, 'plural')), 'art': {'thumb': u'{}/resources/icons/tmdb/search.png'.format(ADDONPATH)}, 'infoproperties': {'specialsort': 'top'}, 'params': merge_two_dicts(kwargs, {'info': 'search', 'tmdb_type': tmdb_type})} items = [] items.append(base_item) history = get_search_history(tmdb_type) history.reverse() for i in history: item = { 'label': u'{} ({})'.format(i, tmdb_type) if append_type else i, 'art': base_item.get('art'), 'params': merge_two_dicts(base_item.get('params', {}), {'query': i})} items.append(item) if history and clear_cache_item: item = { 'label': ADDON.getLocalizedString(32121), 'art': base_item.get('art'), 'infoproperties': {'specialsort': 'bottom'}, 'params': merge_two_dicts(base_item.get('params', {}), {'info': 'dir_search', 'clear_cache': 'True'})} items.append(item) return items
def list_discoverdir(self, **kwargs): items = [] params = merge_two_dicts(kwargs, {'info': 'user_discover'}) artwork = {'thumb': u'{}/resources/poster.png'.format(ADDONPATH)} for i in ['movie', 'tv']: item = { 'label': u'{} {}'.format(ADDON.getLocalizedString(32174), convert_type(i, 'plural')), 'params': merge_two_dicts(params, {'tmdb_type': i}), 'infoproperties': {'specialsort': 'top'}, 'art': artwork} items.append(item) history = get_search_history('discover') history.reverse() for x, i in enumerate(history): item_params = merge_two_dicts(kwargs, i.get('params', {})) edit_params = {'info': 'user_discover', 'tmdb_type': item_params.get('tmdb_type'), 'method': 'edit', 'idx': x} name_params = {'info': 'dir_discover', 'tmdb_type': item_params.get('tmdb_type'), 'method': 'rename', 'idx': x} dele_params = {'info': 'dir_discover', 'tmdb_type': item_params.get('tmdb_type'), 'method': 'delete', 'idx': x} item = { 'label': i.get('label'), 'params': item_params, 'art': artwork, 'context_menu': [ (xbmc.getLocalizedString(21435), u'Container.Update({})'.format(encode_url(PLUGINPATH, **edit_params))), (xbmc.getLocalizedString(118), u'Container.Update({})'.format(encode_url(PLUGINPATH, **name_params))), (xbmc.getLocalizedString(117), u'Container.Update({})'.format(encode_url(PLUGINPATH, **dele_params)))]} items.append(item) if history: item = { 'label': ADDON.getLocalizedString(32237), 'art': artwork, 'params': merge_two_dicts(params, {'info': 'dir_discover', 'clear_cache': 'True'})} items.append(item) return items
def _edit_rules(idx=-1): """ Need to setup window properties if editing """ if idx == -1: return history = get_search_history('discover') history.reverse() try: item = history[idx] except IndexError: return _win_prop('save_index', set_property='{}'.format(len(history) - 1 - idx)) _win_prop('save_label', set_property='{}'.format(item.get('label'))) for k, v in viewitems(item.get('params', {})): if k in ['info', 'tmdb_type']: continue _win_prop(k, set_property=v) _win_prop(k, 'Label', set_property=item.get('labels', {}).get(k, v))