Beispiel #1
0
def versions(url):
    versions = scrapers.versions(url)
    if len(versions) == 1:
        ver, href = versions[0]
        return _episodes(href)
    else:
        di_list = []
        for label, version_url in versions:
            action_url = common.action_url('episodes', url=version_url)
            ver = cleanstring.version(label)
            di_list.append(common.diritem(ver, action_url))
        return di_list
def versions(url):
    versions = scrapers.versions(url)
    if len(versions) == 1:
        ver, href = versions[0]
        return _episodes(href)
    else:
        di_list = []
        for label, version_url in versions:
            action_url = common.action_url('episodes', url=version_url)
            ver = cleanstring.version(label)
            di_list.append(common.diritem(ver, action_url))
        return di_list
def versions(url):
    versions = scrapers.versions(url)
    if len(versions) == 1:
        ver, href = versions[0]
        return _episodes(href)
    else:
        di_list = []
        for label, version_url in versions:
            action_url = common.action_url('episodes', url=version_url)
            ver = cleanstring.version(label)
            di_list.append(common.diritem(ver, action_url))

            if auto_select.settings_is_set('auto_select_version'):
                desire_version = auto_select.get_version_string()
                if desire_version != '' and desire_version in ver.lower():
                    common.notify(heading="Auto picked version",
                                  message="Picked {}".format(ver))
                    return _episodes(versions[0][1])

        return di_list
def versions(url):
    versions = scrapers.versions(url)
    if len(versions) == 1:
        ver, href = versions[0]
        return _episodes(href)
    else:
        auto_select = xbmcaddon.Addon().getSetting('auto_select_version')
        if auto_select == 'true':
            '''priorities = [('Cantonese', int(xbmcaddon.Addon().getSetting('cantonese_priority'))),
                          ('Mandarin', int(xbmcaddon.Addon().getSetting('mandarin_priority'))),
                          ('Chinese Subtitles', int(xbmcaddon.Addon().getSetting('ch_sub_priority'))),
                          ('English Subtitles', int(xbmcaddon.Addon().getSetting('eng_sub_priority')))]'''
            '''def sort_key(a):
                for priority in priorities:
                    if priority[0] in a[0]:
                        return priority[1]
                return ""
                for priority in priorities:
                    if priority[0] in versions[0][0]:# Fits the priority list above
                        version, href = versions[0]
                        return _episodes(href)'''
            def match_str(string):
                    match = re.match(r'Watch online \(([^\)]+)\)$', string)
                    if match:
                        return match.group(1)
                    else:
                        return ""
            
            priorities = {'Cantonese': int(xbmcaddon.Addon().getSetting('cantonese_priority')),
                          'Mandarin': int(xbmcaddon.Addon().getSetting('mandarin_priority')),
                          'Chinese Subtitles': int(xbmcaddon.Addon().getSetting('ch_sub_priority')),
                          'English Subtitles': int(xbmcaddon.Addon().getSetting('eng_sub_priority'))}
            
            def sort_key(a):
                try:
                    return priorities[cleanstring.version(a[0])]
                except Exception as e:
                    print("Icdrama: " + str(e))
                    return ""
            versions.sort(key = sort_key)
            
            priority_indices = {}
            for k, v in priorities.items():
                L = priority_indices.get(v, [])
                L.append(k)
                priority_indices[v] = L
            
            min_priority = min(priority_indices.keys())
            count = len([label for label, _ in versions if match_str(label) in priority_indices[min_priority]])

            if count == 1:
                version, href = versions[0]
                return _episodes(href)
            elif count > 1:
                di_list = []
                for i in range(count):
                    label, version_url = versions[i]
                    action_url = common.action_url('episodes', url=version_url)
                    ver = cleanstring.version(label)
                    di_list.append(common.diritem(ver, action_url))
                return di_list
            
            # Else create full directory
        
        di_list = []
        for label, version_url in versions:
            action_url = common.action_url('episodes', url=version_url)
            ver = cleanstring.version(label)
            di_list.append(common.diritem(ver, action_url))
        return di_list