Esempio n. 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'])
                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]
Esempio n. 2
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)
Esempio n. 4
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'])
                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]
Esempio n. 5
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]
Esempio n. 6
0
 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]))
Esempio n. 7
0
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]))
Esempio n. 9
0
 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())
Esempio n. 10
0
 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)
Esempio n. 11
0
 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)
Esempio n. 12
0
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]
Esempio n. 15
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'
Esempio n. 16
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'
Esempio n. 17
0
    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]))
Esempio n. 18
0
 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'
Esempio n. 20
0
 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]))
Esempio n. 22
0
 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)
Esempio n. 24
0
 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]))
Esempio n. 25
0
 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]
Esempio n. 26
0
 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 _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)
Esempio n. 28
0
 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})
Esempio n. 30
0
 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))
Esempio n. 31
0
 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)
Esempio n. 32
0
 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)
Esempio n. 33
0
 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]
Esempio n. 34
0
 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)
Esempio n. 35
0
 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 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)
Esempio n. 37
0
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)
Esempio n. 38
0
 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]))
Esempio n. 40
0
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]
Esempio n. 43
0
 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)
Esempio n. 44
0
 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)
Esempio n. 48
0
 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)
Esempio n. 49
0
 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)
Esempio n. 52
0
 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)
Esempio n. 53
0
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})
Esempio n. 54
0
 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
                          })
Esempio n. 55
0
 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
                          })