Example #1
0
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