def build_display_title(source): if 'debrid_provider' in source: debrid_provider = tools.colorString(tools.shortened_debrid(source.get('debrid_provider', ''))) if debrid_provider != '': debrid_provider = " " + debrid_provider + " |" else: tools.log('No Debrid Provider') else: debrid_provider = '' quality = tools.color_quality(source['quality']) release_title = tools.colorString(source['release_title']) info = source['info'] if len(info) > 0: info = ' '.join(info) info = '| ' + info else: info = '' title = '' if source['type'] == 'torrent': size = tools.colorString(tools.source_size_display(source['size'])) title = "%s |%s %s | %s %s\n%s" % ( quality, debrid_provider, source['source'].upper(), size, info, release_title ) if source['type'] == 'hoster': title = "%s |%s %s | %s %s\n%s" % ( quality, debrid_provider, source['provider'].upper(), source['source'], info, release_title, ) if tools.getSetting('general.sourceselectlines') == 'false': title = title.replace('\n', ' | ') return title
def build_cache_assist(self, args): if tools.getSetting('general.autocache') == 'false': return if len(self.allTorrents) == 0: return if len(self.torrentCacheSources) > 0: return build_list = [] if tools.getSetting('general.cacheAssistMode') == "0": quality_list = ['1080p', '720p', 'SD'] for quality in quality_list: if len(build_list) > 0: break if len([ i for i in self.torrentCacheSources if i['quality'] == quality ]) == 0: quality_filter = [ i for i in self.allTorrents if i['quality'] == quality ] if len(quality_filter) > 0: packtype_filter = [ i for i in quality_filter if i['package'] == 'show' or i['package'] == 'season' ] sorted_list = sorted(packtype_filter, key=lambda k: k['seeds'], reverse=True) if len(sorted_list) > 0: build_list.append(sorted_list[0]) break else: package_type_list = [ i for i in quality_filter if i['package'] == 'single' ] sorted_list = sorted(package_type_list, key=lambda k: k['seeds'], reverse=True) if sorted_list > 0: build_list.append(sorted_list[0]) else: if self.silent is True: return yesno = tools.showDialog.yesno( '%s - Cache Assist' % tools.addonName, tools.lang(32086).encode('utf-8')) if yesno == 0: return display_list = [ '%sS | %s | %s | %s' % (i['seeds'], tools.color_quality( i['quality']), tools.source_size_display( i['size']), tools.colorString(i['release_title'])) for i in self.allTorrents ] selection = tools.showDialog.select( '%s - ' % tools.addonName + tools.lang(32087).encode('utf-8'), display_list) if selection == -1: return build_list.append(self.allTorrents[selection]) if len(build_list) > 0: actionArgs = {'torrent_list': build_list, 'args': args} actionArgs = tools.quote(json.dumps(actionArgs)) tools.execute('RunPlugin(%s?action=cacheAssist&actionArgs=%s)' % (sysaddon, actionArgs)) return