def select_cb(resolved): stream_parts = [] stream_parts_dict = {} for stream in resolved: if stream['surl'] not in stream_parts_dict: stream_parts_dict[stream['surl']] = [] stream_parts.append(stream['surl']) if __settings__('filter_vp8') and vp8_youtube_filter(stream): continue stream_parts_dict[stream['surl']].append(stream) if len(stream_parts) == 1: dialog = xbmcgui.Dialog() quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(stream_parts_dict[stream_parts[0]], quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] opts = ['%s [%s]' % (r['title'], r['quality']) for r in resolved] ret = dialog.select(xbmcutil.__lang__(30005), opts) return resolved[ret] dialog = xbmcgui.Dialog() opts = [__language__(30059)] # when there are multiple stream, we let user choose only from best qualities opts = opts + ['%s [%s]' % (stream_parts_dict[p][0]['title'], stream_parts_dict[p][0]['quality']) for p in stream_parts] ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret == 0: # requested to play all streams in given order - so return them all return [stream_parts_dict[p][0] for p in stream_parts] if ret >= 0: return stream_parts_dict[stream_parts[ret]][0]
def select_cb(resolved): stream_parts = [] stream_parts_dict = {} for stream in resolved: if stream['surl'] not in stream_parts_dict: stream_parts_dict[stream['surl']] = [] stream_parts.append(stream['surl']) stream_parts_dict[stream['surl']].append(stream) if len(stream_parts) == 1: dialog = xbmcgui.Dialog() quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(stream_parts_dict[stream_parts[0]], quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] opts = ['%s [%s]' % (r['title'], r['quality']) for r in resolved] ret = dialog.select(xbmcutil.__lang__(30005), opts) return resolved[ret] quality = self.settings['quality'] or '0' if quality == '0': dialog = xbmcgui.Dialog() opts = [__language__(30052),__language__(30053)] ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret == 0: return [stream_parts_dict[p][0] for p in stream_parts] elif ret == 1: return [stream_parts_dict[p][-1] for p in stream_parts] else: return [stream_parts_dict[p][0] for p in stream_parts]
def list(self, items): params = self.params() for item in items: if item['type'] == 'dir': self.render_dir(item) elif item['type'] == 'next': params.update({'list': item['url']}) xbmcutil.add_dir(xbmcutil.__lang__(30007), params, xbmcutil.icon('next.png')) elif item['type'] == 'prev': params.update({'list': item['url']}) xbmcutil.add_dir(xbmcutil.__lang__(30008), params, xbmcutil.icon('prev.png')) elif item['type'] == 'new': params.update({'list': item['url']}) xbmcutil.add_dir(xbmcutil.__lang__(30012), params, xbmcutil.icon('new.png')) elif item['type'] == 'top': params.update({'list': item['url']}) xbmcutil.add_dir(xbmcutil.__lang__(30013), params, xbmcutil.icon('top.png')) elif item['type'] == 'video': self.render_video(item) else: self.render_default(item)
def select_cb(resolved): stream_parts = [] stream_parts_dict = {} for stream in resolved: if stream['surl'] not in stream_parts_dict: stream_parts_dict[stream['surl']] = [] stream_parts.append(stream['surl']) if __settings__('filter_vp8') and vp8_youtube_filter(stream): continue stream_parts_dict[stream['surl']].append(stream) if len(stream_parts) == 1: dialog = xbmcgui.Dialog() quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(stream_parts_dict[stream_parts[0]], quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] opts = ['%s [%s]' % (r['title'], r['quality']) for r in resolved] ret = dialog.select(xbmcutil.__lang__(30005), opts) return resolved[ret] dialog = xbmcgui.Dialog() opts = [__language__(30059)] # when there are multiple stream, we let user choose only from best qualities opts = opts + ['%s [%s]' % (stream_parts_dict[p][0]['title'], stream_parts_dict[p][0]['quality']) for p in stream_parts] ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret == 0: # requested to play all streams in given order - so return them all return [stream_parts_dict[p][0] for p in stream_parts] if ret >= 0: return stream_parts_dict[stream_parts[ret-1]][0]
def select_cb(resolved): stream_parts = [] stream_parts_dict = {} for stream in resolved: if stream['surl'] not in stream_parts_dict: stream_parts_dict[stream['surl']] = [] stream_parts.append(stream['surl']) stream_parts_dict[stream['surl']].append(stream) if len(stream_parts) == 1: dialog = xbmcgui.Dialog() quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(stream_parts_dict[stream_parts[0]], quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] opts = ['%s [%s]' % (r['title'], r['quality']) for r in resolved] ret = dialog.select(xbmcutil.__lang__(30005), opts) return resolved[ret] quality = self.settings['quality'] or '0' if quality == '0': dialog = xbmcgui.Dialog() opts = [__language__(30052), __language__(30053)] ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret == 0: return [stream_parts_dict[p][0] for p in stream_parts] elif ret == 1: return [stream_parts_dict[p][-1] for p in stream_parts] else: return [stream_parts_dict[p][0] for p in stream_parts]
def root(self): if 'search' in self.provider.capabilities(): params = self.params() params.update({'search-list':'#'}) xbmcutil.add_dir(xbmcutil.__lang__(30003),params,xbmcutil.icon('search.png')) xbmcutil.add_local_dir(xbmcutil.__lang__(30006),self.settings['downloads'],xbmcutil.icon('download.png')) self.list(self.provider.categories()) return xbmcplugin.endOfDirectory(int(sys.argv[1]))
def root(): search.item({"s": "movie"}, label=xbmcutil.__lang__(30003) + " " + __language__(30017)) search.item({"s": "person"}, label=xbmcutil.__lang__(30003) + " " + __language__(30018)) xbmcutil.add_dir(__language__(30041), {"fav": ""}, icon()) xbmcutil.add_dir(__language__(30044), {"filmoteka": ""}, icon()) xbmcutil.add_dir("Kino", {"kino": ""}, icon()) xbmcutil.add_dir("Žebříčky", {"top": ""}, xbmcutil.icon("top.png")) xbmcutil.add_dir("Blu-ray", {"dvd": "bluray"}, icon()) xbmcutil.add_dir("Premiérová DVD", {"dvd": "dvd_retail"}, icon()) xbmcutil.add_dir("Levná DVD v trafikách a časopisech", {"dvd": "dvd_lite"}, icon()) xbmcutil.add_dir("Tvůrci", {"artists": ""}, icon()) xbmcplugin.endOfDirectory(int(sys.argv[1]))
def search_list(self): params = self.params() params.update({'search': '#'}) menu1 = self.params() menu2 = self.params() xbmcutil.add_dir(xbmcutil.__lang__(30004), params, xbmcutil.icon('search.png')) for what in xbmcutil.search_list(self.cache): params['search'] = what menu1['search-remove'] = what menu2['search-edit'] = what xbmcutil.add_dir(what, params, menuItems={xbmcutil.__lang__( 30016): menu2, xbmc.getLocalizedString(117): menu1}) xbmcplugin.endOfDirectory(int(sys.argv[1]))
def root(self): if 'search' in self.provider.capabilities(): params = self.params() params.update({'search-list': ''}) xbmcutil.add_search_folder(xbmcutil.__lang__(30003), params, xbmcutil.icon('search.png')) self.list(self.provider.categories())
def wait_cb(self, wait): left = wait msg = xbmcutil.__lang__(30014).encode('utf-8') while left > 0: #xbmc.executebuiltin("XBMC.Notification(%s,%s,1000,%s)" %(self.provider.name,msg % str(left),'')) left -= 1 time.sleep(1)
def wait_cb(self,wait): left = wait msg = xbmcutil.__lang__(30014).encode('utf-8') while left > 0: xbmc.executebuiltin("XBMC.Notification(%s,%s,1000,%s)" %(self.provider.name,msg % str(left),'')) left-=1 time.sleep(1)
def root(): search.item() xbmcutil.add_local_dir(xbmcutil.__lang__(30006), settings['downloads'], xbmcutil.icon('download.png')) for provider in providers.keys(): xbmcutil.add_dir(provider, {'cp': provider}, icon(provider)) return xbmcplugin.endOfDirectory(int(sys.argv[1]))
def download(self, item): downloads = self.settings['downloads'] if '' == downloads: xbmcgui.Dialog().ok(self.provider.name, xbmcutil.__lang__(30009)) return stream = self.resolve(item['url']) if stream: if not 'headers' in list(stream.keys()): stream['headers'] = {} xbmcutil.reportUsage(self.addon_id, self.addon_id + '/download') # clean up \ and / name = item['title'].replace('/', '_').replace('\\', '_') if not stream['subs'] == '': xbmcutil.save_to_file(stream['subs'], os.path.join(downloads, name + '.srt'), stream['headers']) dot = name.find('.') if dot <= 0: # name does not contain extension, append some name += '.mp4' xbmcutil.download(self.addon, name, self.provider._url(stream['url']), os.path.join(downloads, name), headers=stream['headers'])
def select_cb(resolved): stream_parts = [] stream_parts_dict = {} for stream in resolved: if stream['surl'] not in stream_parts_dict: stream_parts_dict[stream['surl']] = [] stream_parts.append(stream['surl']) stream_parts_dict[stream['surl']].append(stream) if len(stream_parts) == 1: return resolved[0] dialog = xbmcgui.Dialog() opts = [__language__(30050)] # when there are multiple stream, we let user choose only from best qualities opts = opts + [ '%s [%s]' % (stream_parts_dict[p][0]['title'], stream_parts_dict[p][0]['quality']) for p in stream_parts ] ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret == 0: # requested to play all streams in given order - so return them all return [stream_parts_dict[p][0] for p in stream_parts] if ret >= 0: return stream_parts_dict[stream_parts[ret]][0]
def ask_for_account_type(self): if len(self.provider.username) == 0: return False if self.settings['vip'] == '0': ret = client.getYesNoInput(self.session, xbmcutil.__lang__(30010)) return ret return self.settings['vip'] == '1'
def root(self): searches = xbmcutil.get_searches(self.addon,self.provider.name) if len(searches) > 0: self.provider.info('Upgrading to new saved search storage...') for s in searches: self.provider.info('Moving item %s' % s) xbmcutil.search_add(self.cache,s,9999999) xbmcutil.delete_search_history(self.addon,self.provider.name) if 'search' in self.provider.capabilities(): params = self.params() params.update({'search-list':'#'}) xbmcutil.add_dir(xbmcutil.__lang__(30003),params,xbmcutil.icon('search.png')) if not '!download' in self.provider.capabilities(): xbmcutil.add_local_dir(xbmcutil.__lang__(30006),self.settings['downloads'],xbmcutil.icon('download.png')) self.list(self.provider.categories()) return xbmcplugin.endOfDirectory(int(sys.argv[1]))
def search_edit(self, what): try: replacement = client.getTextInput(self.session, xbmcutil.__lang__(30003), what) except ValueError: client.showInfo("Please install new version of archivCZSK") if replacement != '': xbmcutil.edit_search(self.addon, self.provider.name, what, replacement) client.refresh_screen()
def ask_for_account_type(self): if len(self.provider.username) == 0: util.info('Username is not set, NOT using VIP account') return False if self.settings['vip'] == '0': util.info('Asking user whether to use VIP account') ret = xbmcgui.Dialog().yesno(self.provider.name, xbmcutil.__lang__(30010)) return ret == 1 return self.settings['vip'] == '1'
def resolve(self, url): item = self.provider.video_item(url=url) if not self.provider.login(): xbmcgui.Dialog().ok(self.provider.name, xbmcutil.__lang__(30011)) return try: return self.provider.resolve(item) except ResolveException, e: self._handle_exc(e)
def root(self): searches = xbmcutil.get_searches(self.addon, self.provider.name) if len(searches) > 0: self.provider.info('Upgrading to new saved search storage...') for s in searches: self.provider.info('Moving item %s' % s) xbmcutil.search_add(self.cache, s, 9999999) xbmcutil.delete_search_history(self.addon, self.provider.name) if 'search' in self.provider.capabilities(): params = self.params() params.update({'search-list': '#'}) xbmcutil.add_dir(xbmcutil.__lang__(30003), params, xbmcutil.icon('search.png')) if not '!download' in self.provider.capabilities(): xbmcutil.add_local_dir(xbmcutil.__lang__(30006), self.settings[ 'downloads'], xbmcutil.icon('download.png')) self.list(self.provider.categories()) return xbmcplugin.endOfDirectory(int(sys.argv[1]))
def resolve(self,url): item = self.provider.video_item(url=url) if not self.provider.login(): xbmcgui.Dialog().ok(self.provider.name,xbmcutil.__lang__(30011)) return try: return self.provider.resolve(item) except ResolveException, e: self._handle_exc(e)
def search_edit(self, what): kb = xbmc.Keyboard(what, xbmcutil.__lang__(30003), False) kb.doModal() if kb.isConfirmed(): replacement = kb.getText() xbmcutil.search_replace(self.cache, what, replacement) params = self.params() params.update({'search': replacement}) action = xbmcutil._create_plugin_url(params) xbmc.executebuiltin('Container.Update(%s)' % action)
def search_list(self): params = self.params() params.update({'search':'#'}) menuItems = self.params() xbmcutil.add_dir(xbmcutil.__lang__(30004),params,xbmcutil.icon('search.png')) for what in xbmcutil.get_searches(self.addon,self.provider.name): params['search'] = what menuItems['search-remove'] = what xbmcutil.add_dir(what,params,menuItems={xbmc.getLocalizedString(117):menuItems}) xbmcplugin.endOfDirectory(int(sys.argv[1]))
def select_cb(resolved): quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(resolved,quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] dialog = xbmcgui.Dialog() ret = dialog.select(xbmcutil.__lang__(30005), ['%s [%s]'%(r['title'],r['quality']) for r in resolved]) if ret >= 0: return resolved[ret]
def _handle_exc(self, e): msg = e.message if msg.find('$') == 0: try: msg = self.addon.getLocalizedString(int(msg[1:])) except: try: msg = xbmcutil.__lang__(int(msg[1:])) except: pass xbmcgui.Dialog().ok(self.provider.name, msg)
def _handle_exc(self, e): msg = e.message if msg.find('$') == 0: try: msg = self.addon.getLocalizedString(int(msg[1:])) except: try: msg = xbmcutil.__lang__(int(msg[1:])) except: pass client.showError(msg)
def search_list(self): params = self.params() params.update({'search':''}) menuItems = self.params() xbmcutil.add_search_item(xbmcutil.__lang__(30004), params, xbmcutil.icon('search.png')) for what in xbmcutil.get_searches(self.addon, self.provider.name): params = self.params() menuItems = self.params() params['search'] = what menuItems['search-remove'] = what xbmcutil.add_dir(what, params, menuItems={u'Remove':menuItems})
def download(self,url,name): downloads = self.settings['downloads'] if '' == downloads: xbmcgui.Dialog().ok(self.provider.name,xbmcutil.__lang__(30009)) return stream = self.resolve(url) if stream: xbmcutil.reportUsage(self.addon_id,self.addon_id+'/download') if not stream['subs'] == '': util.save_to_file(stream['subs'],os.path.join(downloads,name+'.srt')) xbmcutil.download(self.addon,name,self.provider._url(stream['url']),os.path.join(downloads,name))
def resolve(self,url): item = self.provider.video_item() item.update({'url':url}) if not self.ask_for_account_type(): # set user/pass to null - user does not want to use VIP at this time self.provider.username = None self.provider.password = None else: if not self.provider.login(): xbmcgui.Dialog().ok(self.provider.name,xbmcutil.__lang__(30011)) return return self.provider.resolve(item,captcha_cb=self.ask_for_captcha,wait_cb=self.wait_cb)
def select_cb(resolved): if __addon__.getSetting('filter_vp8') == 'true': resolved = [r for r in resolved if not vp8_youtube_filter(r)] quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(resolved,quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] dialog = xbmcgui.Dialog() ret = dialog.select(xbmcutil.__lang__(30005), ['%s [%s]'%(r['title'],r['quality']) for r in resolved]) if ret >= 0: return resolved[ret]
def do_search(self, what): if what == '': what = client.getTextInput(self.session, xbmcutil.__lang__(30003)) if not what == '': maximum = 20 try: maximum = int(self.settings['keep-searches']) except: util.error('Unable to parse convert addon setting to number') pass xbmcutil.add_search(self.addon, self.provider.name, what, maximum) self.search(what)
def _search(session, addon, history, what, update_history, callback): if what == '': what = client.getTextInput(session, xbmcutil.__lang__(30003)) if not what == '': maximum = 20 try: maximum = int(addon.get_setting('keep-searches')) except: util.error('Unable to parse convert addon setting to number') pass if update_history: xbmcutil.add_search(addon, history, what, maximum) callback(what)
def select_cb(resolved): # for this plugin we do not care about quality at all if len(resolved) == 1: return resolved[0] dialog = xbmcgui.Dialog() opts = [__language__(30050)] opts = opts + ['%s [%s]'%(r['title'],r['quality']) for r in resolved] ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret == 0: # requested to play all streams in given order - so return them all return resolved if ret >= 0: return resolved[ret]
def _list(addon,history,key,value): params = {} menuItems = {} if key: params[key] = value menuItems[key] = value params['search'] = '#' xbmcutil.add_dir(xbmcutil.__lang__(30004),params,xbmcutil.icon('search.png')) for what in xbmcutil.get_searches(addon,history): params['search'] = what menuItems['search-remove'] = what xbmcutil.add_dir(what,params,menuItems={xbmc.getLocalizedString(117):menuItems}) xbmcplugin.endOfDirectory(int(sys.argv[1]))
def _search(session,addon,history,what,update_history,callback): if what == '': what = client.getTextInput(session,xbmcutil.__lang__(30003)) if not what == '': maximum = 20 try: maximum = int(addon.get_setting('keep-searches')) except: util.error('Unable to parse convert addon setting to number') pass if update_history: xbmcutil.add_search(addon,history,what,maximum) callback(what)
def resolve(self,url): item = self.provider.video_item() item.update({'url':url,'vip':True}) if not self.ask_for_account_type(): # user does not want to use VIP at this time item.update({'vip':False}) else: if not self.provider.login(): xbmcgui.Dialog().ok(self.provider.name,xbmcutil.__lang__(30011)) return try: return self.provider.resolve(item,captcha_cb=self.solve_captcha) except ResolveException, e: self._handle_exc(e)
def select_cb(resolved): quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(resolved,quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] dialog = xbmcgui.Dialog() opts = [] for r in resolved: d = defaultdict(lambda:'',r) opts.append('%s [%s]%s' % (d['title'],d['quality'],d['lang'])) ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret >= 0: return resolved[ret]
def resolve(self,url): item = self.provider.video_item() item.update({'url':url,'vip':True}) if not self.ask_for_account_type(): # user does not want to use VIP at this time item.update({'vip':False}) else: if not self.provider.login(): client.showInfo(xbmcutil.__lang__(30011)) return try: return self.provider.resolve(item,captcha_cb=self.ask_for_captcha) except ResolveException, e: self._handle_exc(e)
def select_cb(resolved): if __addon__.getSetting('filter_vp8') == 'true': resolved = [r for r in resolved if not vp8_youtube_filter(r)] quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(resolved, quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] dialog = xbmcgui.Dialog() ret = dialog.select( xbmcutil.__lang__(30005), ['%s [%s]' % (r['title'], r['quality']) for r in resolved]) if ret >= 0: return resolved[ret]
def resolve(self, url): item = self.video_item() item.update({'url': url}) if not self.ask_for_account_type(): # set user/pass to null - user does not want to use VIP at this time self.provider.username = None self.provider.password = None else: if not self.provider.login(): xbmcgui.Dialog().ok(self.provider.name, xbmcutil.__lang__(30011)) return try: return self.provider.resolve(item, captcha_cb=self.ask_for_captcha, wait_cb=self.wait_cb) except ResolveException, e: self._handle_exc(e)
def select_cb(resolved): quality = self.settings['quality'] or '0' resolved = resolver.filter_by_quality(resolved, quality) # if user requested something but 'ask me' or filtered result is exactly 1 if len(resolved) == 1 or int(quality) > 0: return resolved[0] dialog = xbmcgui.Dialog() opts = [] for r in resolved: d = defaultdict(lambda: '', r) opts.append('%s [%s]%s' % (d['title'], d['quality'], d['lang'])) ret = dialog.select(xbmcutil.__lang__(30005), opts) if ret >= 0: return resolved[ret]
def do_search(self, what): if what == '' or what == '#': kb = xbmc.Keyboard('', xbmcutil.__lang__(30003), False) kb.doModal() if kb.isConfirmed(): what = kb.getText() if not what == '': maximum = 20 try: maximum = int(self.settings['keep-searches']) except: util.error('Unable to parse convert addon setting to number') pass xbmcutil.search_add(self.cache, what, maximum) self.search(what)
def resolve(self, url): item = self.provider.video_item() item.update({'url':url}) if not self.ask_for_account_type(): # set user/pass to null - user does not want to use VIP at this time self.provider.username = None self.provider.password = None else: if not self.provider.login(): client.showInfo(xbmcutil.__lang__(30011)) return try: return self.provider.resolve(item, captcha_cb=self.ask_for_captcha, wait_cb=self.wait_cb) except ResolveException, e: self._handle_exc(e)
def do_search2(self, what, params): if what == '': what = client.getTextInput(self.session, xbmcutil.__lang__(30003)) if not what == '': maximum = 10 try: maximum = int(self.settings['keep-searches']) except: util.error('Unable to parse convert addon setting to number') pass if 'search-no-history' in params and params['search-no-history']: # do nothing dont save history a = 'nothing' else: xbmcutil.add_search(self.addon, self.provider.name, what, maximum) self.search(what)
def _list(addon, history, key, value): params = {} menuItems = {} if key: params[key] = value menuItems[key] = value params['search'] = '#' xbmcutil.add_dir(xbmcutil.__lang__(30004), params, xbmcutil.icon('search.png')) for what in xbmcutil.get_searches(addon, history): params['search'] = what menuItems['search-remove'] = what xbmcutil.add_dir(what, params, menuItems={xbmc.getLocalizedString(117): menuItems}) xbmcplugin.endOfDirectory(int(sys.argv[1]))
def _search(addon, history, what, update_history, callback): if what == '' or what == '#': kb = xbmc.Keyboard('', xbmcutil.__lang__(30003), False) kb.doModal() if kb.isConfirmed(): what = kb.getText() if not what == '': maximum = 20 try: maximum = int(addon.getSetting('keep-searches')) except: util.error('Unable to parse convert addon setting to number') pass if update_history: xbmcutil.add_search(addon, history, what, maximum) callback(what)
def do_search2(self, what, params): if what == '': what = client.getTextInput(self.session, xbmcutil.__lang__(30003)) if not what == '': maximum = 20 try: maximum = int(self.settings['keep-searches']) except: util.error('Unable to parse convert addon setting to number') pass if 'search-no-history' in params and params['search-no-history']: # do nothing dont save history a = 'nothing' else: xbmcutil.add_search(self.addon, self.provider.name, what, maximum) self.search(what)
def _list(addon, history, key, value): params = {} menuItems = {} if key: params[key] = value menuItems[key] = value params['search'] = '' xbmcutil.add_search_item(xbmcutil.__lang__(30004), params, xbmcutil.icon('search.png')) for what in xbmcutil.get_searches(addon, history): params = {} menuItems = {} if key: params[key] = value menuItems[key] = value params['search'] = what menuItems['search-remove'] = what xbmcutil.add_dir(what, params, menuItems={u"Remove": menuItems})
def search_list(self): params = self.params() params.update({'search': ''}) xbmcutil.add_search_item(xbmcutil.__lang__(30004), params, xbmcutil.icon('search.png')) for what in xbmcutil.get_searches(self.addon, self.provider.name): params = self.params() menuItems = self.params() menuItems2 = self.params() params['search'] = what menuItems['search-remove'] = what menuItems2['search-edit'] = what xbmcutil.add_dir(what, params, menuItems={ u'Remove': menuItems, u'Edit': menuItems2 })
def search_list(self): params = self.params() params.update({'search': ''}) xbmcutil.add_search_item(xbmcutil.__lang__(30004), params, xbmcutil.icon('search.png')) maximum = 10 try: maximum = int(self.settings['keep-searches']) except: pass for what in xbmcutil.get_searches(self.addon, self.provider.name, maximum): params = self.params() menuItems = self.params() menuItems2 = self.params() params['search'] = what menuItems['search-remove'] = what menuItems2['search-edit'] = what xbmcutil.add_dir(what, params, menuItems={ u'Remove': menuItems, u'Edit': menuItems2 })