Example #1
0
    def config(self):
        self.id = ''
        if self.title in self.dictSeries:
            self.id = self.dictSeries[self.title].get(ID, '')

        # Pulizia del Titolo
        if any(word in self.title.lower()
               for word in ['specials', 'speciali']):
            self.title = re.sub(r'\s*specials|\s*speciali', '',
                                self.title.lower())
        elif not self.item.infoLabels['tvdb_id']:
            self.item.contentSerieName = self.title.rstrip('123456789 ')

        while not self.item.exit:
            tvdb.find_and_set_infoLabels(self.item)
            if self.item.infoLabels['tvdb_id']: self.item.exit = True
            else: self.item = platformtools.dialog_info(self.item, 'tvdb')

        # Rinumerazione Automatica
        if (not self.id and self.auto) or self.item.renumber:
            self.id = self.item.infoLabels[
                'tvdb_id'] if 'tvdb_id' in self.item.infoLabels else ''
            if self.id:
                self.dictRenumber = {ID: self.id}
                self.dictSeries[self.title] = self.dictRenumber
                if any(word in self.title.lower()
                       for word in ['specials', 'speciali']):
                    season = '0'
                elif RepresentsInt(self.title.split()[-1]):
                    season = self.title.split()[-1]
                else:
                    season = '1'
                self.Season = self.dictRenumber[SEASON] = season
                self.renumber()
Example #2
0
def config_item(item, itemlist=[], typography='', active=False):
    log()
    # Configurazione Automatica, Tenta la numerazione Automatica degli episodi
    title = item.fulltitle.rstrip()

    dict_series = load(item)
    ID = dict_series[title][TAG_ID] if title in dict_series and TAG_ID in dict_series[title] else ''

    # Pulizia del Titolo
    if any( word in title.lower() for word in ['specials', 'speciali']):
        title = re.sub(r'\sspecials|\sspeciali', '', title.lower())
        tvdb.find_and_set_infoLabels(item)
    elif not item.infoLabels['tvdb_id']:
        item.contentSerieName= title.rstrip('123456789 ')
        tvdb.find_and_set_infoLabels(item)

    if not ID and active:
        if item.infoLabels['tvdb_id']:
            ID = item.infoLabels['tvdb_id']
            dict_renumerate = {TAG_ID: ID}
            dict_series[title] = dict_renumerate
            # Trova La Stagione
            if any(word in title.lower() for word in ['specials', 'speciali']):
                dict_renumerate[TAG_SEASON] = '0'
            elif RepresentsInt(title.split()[-1]):
                dict_renumerate[TAG_SEASON] = title.split()[-1]
            else: dict_renumerate[TAG_SEASON] = '1'
            dict_renumerate[TAG_EPISODE] = ''
            write(item, dict_series)
            return renumber(itemlist, item, typography)
        else:
            return itemlist

    else:
        return renumber(itemlist, item, typography)
Example #3
0
def config_item(item):
    log(item)
    tvdb.find_and_set_infoLabels(item)
    data = ''
    data = add_season(data)
    title = item.show
    count = 0

    while not item.infoLabels['tvdb_id']:
        try:
            item.show = platformtools.dialog_input(
                default=item.show, heading=config.get_localized_string(30112))
            tvdb.find_and_set_infoLabels(item)
            count = count + 1
        except:
            heading = config.get_localized_string(70704)
            item.infoLabels['tvdb_id'] = platformtools.dialog_numeric(
                0, heading)
    data.append(item.infoLabels['tvdb_id'])
    if item.infoLabels['tvdb_id'] != 0:
        write_data(item.from_channel, title, data)
    else:
        message = config.get_localized_string(60444)
        heading = item.show.strip()
        platformtools.dialog_notification(heading, message)
Example #4
0
def config_item(item):
    log(item)
    tvdb.find_and_set_infoLabels(item)
    data = ''
    data = add_season(data)
    if not item.infoLabels['tvdb_id']:
        heading = 'TVDB ID'
        item.infoLabels['tvdb_id'] = platformtools.dialog_numeric(0, heading)
    data.append(item.infoLabels['tvdb_id'])
    write_data(item.from_channel, item.show, data)
Example #5
0
def config_item(item, itemlist=[], typography='', active=False):
    log()
    # Configurazione Automatica, Tenta la numerazione Automatica degli episodi
    title = item.fulltitle

    dict_series = jsontools.get_node_from_file(item.channel,
                                               TAG_TVSHOW_RENUMERATE)
    try:
        ID = dict_series[item.show.rstrip()][TAG_ID]
    except:
        ID = ''

    # Pulizia del Titolo
    if any(word in title.lower() for word in ['specials', 'speciali']):
        item.show = re.sub(r'\sspecials|\sspeciali', '', item.show.lower())
        log('ITEM SHOW= ', item.show)
        tvdb.find_and_set_infoLabels(item)
    elif not item.infoLabels['tvdb_id']:
        item.show = title.rstrip('123456789 ')
        tvdb.find_and_set_infoLabels(item)

    if not ID and active:
        if item.infoLabels['tvdb_id']:
            ID = item.infoLabels['tvdb_id']
            dict_renumerate = {TAG_ID: ID}
            dict_series[title] = dict_renumerate
            # Trova La Stagione
            if any(word in title.lower() for word in ['specials', 'speciali']):
                dict_renumerate[TAG_SEASON] = '0'
            elif RepresentsInt(title.split()[-1]):
                dict_renumerate[TAG_SEASON] = title.split()[-1]
            else:
                dict_renumerate[TAG_SEASON] = '1'
            dict_renumerate[TAG_EPISODE] = ''
            settings_node = jsontools.get_node_from_file(
                item.channel, 'settings')
            dict_renumerate[TAG_MODE] = settings_node['autorenumber_mode']
            jsontools.update_node(dict_series, item.channel,
                                  TAG_TVSHOW_RENUMERATE)[0]
            return renumber(itemlist, item, typography)
        else:
            return itemlist

    else:
        return renumber(itemlist, item, typography)
Example #6
0
def semiautomatic_config_item(item):
    log()
    # Configurazione Semi Automatica, utile in caso la numerazione automatica fallisca

    tvdb.find_and_set_infoLabels(item)
    item.channel = item.from_channel
    dict_series = jsontools.get_node_from_file(item.channel,
                                               TAG_TVSHOW_RENUMERATE)
    title = item.show

    # Trova l'ID dellla serie
    while not item.infoLabels['tvdb_id']:
        try:
            item.show = platformtools.dialog_input(
                default=item.show, heading=config.get_localized_string(
                    30112))  # <- Enter title to search
            tvdb.find_and_set_infoLabels(item)
        except:
            heading = config.get_localized_string(
                70704)  # <- TMDB ID (0 to cancel)
            info = platformtools.dialog_numeric(0, heading)
            item.infoLabels['tvdb_id'] = '0' if info == '' else info

    if item.infoLabels['tvdb_id']:
        ID = item.infoLabels['tvdb_id']
        dict_renumerate = {TAG_ID: ID}
        dict_series[title] = dict_renumerate
        # Trova la Stagione
        if any(word in title.lower() for word in ['specials', 'speciali']):
            heading = config.get_localized_string(
                70686
            )  # <- Enter the number of the starting season (for specials)
            season = platformtools.dialog_numeric(0, heading, '0')
            dict_renumerate[TAG_SEASON] = season
        elif RepresentsInt(title.split()[-1]):
            heading = config.get_localized_string(
                70686
            )  # <- Enter the number of the starting season (for season > 1)
            season = platformtools.dialog_numeric(0, heading,
                                                  title.split()[-1])
            dict_renumerate[TAG_SEASON] = season
        else:
            heading = config.get_localized_string(
                70686
            )  # <- Enter the number of the starting season (for season 1)
            season = platformtools.dialog_numeric(0, heading, '1')
            dict_renumerate[TAG_SEASON] = season

        ########### PROVVISORIO ###################
        mode = platformtools.dialog_yesno(
            config.get_localized_string(70687),
            config.get_localized_string(70688),
            nolabel=config.get_localized_string(30023),
            yeslabel=config.get_localized_string(30022))
        if mode == 1:
            dict_renumerate[TAG_MODE] = False
            specials = []
            stop = False
            while not stop:
                heading = config.get_localized_string(70718) + str(specials)
                special = platformtools.dialog_numeric(0, heading, '')
                if special:
                    specials.append(int(special))
                    dict_renumerate[TAG_SPECIAL] = specials
                else:
                    stop = True
        dict_renumerate[TAG_MODE] = False
        # Richede se ci sono speciali nella stagione
        # mode = platformtools.dialog_yesno(config.get_localized_string(70687), config.get_localized_string(70688), nolabel=config.get_localized_string(30023), yeslabel=config.get_localized_string(30022))
        # if mode == 0: dict_renumerate[TAG_MODE] = False
        # else:
        #     select = platformtools.dialog_yesno(config.get_localized_string(70687), config.get_localized_string(70717), nolabel=config.get_localized_string(30023), yeslabel=config.get_localized_string(30022))
        #     if select == 0:
        #         dict_renumerate[TAG_MODE] = False
        #         specials = []
        #         stop = False
        #         while not stop:
        #             heading = config.get_localized_string(70718) + str(specials)
        #             special = platformtools.dialog_numeric(0, heading, '')
        #             if special:
        #                 specials.append(int(special))
        #                 dict_renumerate[TAG_SPECIAL] = specials
        #             else: stop = True
        #     else:
        #         dict_renumerate[TAG_MODE] = True
        ########### PROVVISORIO ###################

        # Imposta la voce Episode
        dict_renumerate[TAG_EPISODE] = ''
        # Scrive nel json
        jsontools.update_node(dict_series, item.channel,
                              TAG_TVSHOW_RENUMERATE)[0]

    else:
        message = config.get_localized_string(60444)
        heading = item.show.strip()
        platformtools.dialog_notification(heading, message)
Example #7
0
def manual_renumeration(item, modify=False):
    log()
    _list = []
    if item.from_channel: item.channel = item.from_channel
    title = item.fulltitle.rstrip()

    dict_series = load(item)

    if title not in dict_series: dict_series[title] = {}

    if TAG_EPISODE in dict_series[title] and dict_series[title][TAG_EPISODE]:
        EpisodeDict = json.loads(
            base64.b64decode(dict_series[title][TAG_EPISODE]))
        del dict_series[title][TAG_EPISODE]
    else:
        EpisodeDict = {}

    if TAG_EPLIST in dict_series[title]: del dict_series[title][TAG_EPLIST]
    if TAG_MODE in dict_series[title]: del dict_series[title][TAG_MODE]
    if TAG_CHECK in dict_series[title]: del dict_series[title][TAG_CHECK]
    if TAG_SEASON in dict_series[title]: del dict_series[title][TAG_SEASON]
    if TAG_SPECIAL in dict_series[title]: del dict_series[title][TAG_SPECIAL]
    dict_series[title][TAG_TYPE] = 'manual'
    write(item, dict_series)

    if TAG_ID not in dict_series[title] or (TAG_ID in dict_series[title] and
                                            not dict_series[title][TAG_ID]):
        tvdb.find_and_set_infoLabels(item)

        # Trova l'ID della serie
        while not item.infoLabels['tvdb_id']:
            try:
                item.show = platformtools.dialog_input(
                    default=item.show,
                    heading=config.get_localized_string(
                        30112))  # <- Enter title to search
                tvdb.find_and_set_infoLabels(item)
            except:
                heading = config.get_localized_string(
                    70704)  # <- TMDB ID (0 to cancel)
                info = platformtools.dialog_numeric(0, heading)
                item.infoLabels['tvdb_id'] = '0' if info == '' else info

        if item.infoLabels['tvdb_id']:
            ID = item.infoLabels['tvdb_id']
            dict_renumerate = {TAG_ID: ID}
            dict_series[title] = dict_renumerate

    itemlist = find_episodes(item)
    for item in itemlist:
        Title = re.sub(r'\d+x\d+ - ', '', item.title)
        if modify == True:
            ep = int(scrapertools.find_single_match(Title, r'(\d+)'))
            if item.action == 'findvideos' and str(ep) not in EpisodeDict:
                _list.append(Title)
        else:
            if item.action == 'findvideos':
                _list.append(Title)

    count = 1
    preselect = platformtools.dialog_select(
        config.get_localized_string(70732), [
            typo(config.get_localized_string(70518), 'bold'),
            typo(config.get_localized_string(70519), 'bold')
        ])
    selection = []
    if preselect == 0:
        for i in _list:
            selection.append(_list.index(i))
    while len(_list) > 0:
        selected = platformtools.dialog_multiselect(
            config.get_localized_string(70734), _list, preselect=selection)
        if selected == None: break
        season = ''
        while not season:
            season = platformtools.dialog_numeric(
                0, config.get_localized_string(70733))
        for select in selected:
            ep = int(scrapertools.find_single_match(_list[select], r'(\d+)'))
            if season == '0':
                episode = ''
                while not episode:
                    episode = platformtools.dialog_numeric(
                        0,
                        config.get_localized_string(70735) % _list[select])
                EpisodeDict[str(ep)] = '%sx%s' % (season, episode.zfill(2))
            else:
                EpisodeDict[str(ep)] = '%sx%s' % (season, str(count).zfill(2))
                count += 1

        for select in reversed(selected):
            del _list[select]

    dict_series[title][TAG_TYPE] = 'manual'
    EpisodeDict = base64.b64encode(json.dumps(EpisodeDict).encode())
    dict_series[title][TAG_EPISODE] = EpisodeDict.decode()
    write(item, dict_series)
    # xbmc.executebuiltin("Container.Refresh")
    if modify == True:
        return json.loads(base64.b64decode(EpisodeDict))
Example #8
0
def semiautomatic_config_item(item):
    log()
    # Configurazione Semi Automatica, utile in caso la numerazione automatica fallisca

    tvdb.find_and_set_infoLabels(item)
    item.channel = item.from_channel
    dict_series = load(item)
    title = item.fulltitle.rstrip()

    # Trova l'ID della serie
    while not item.infoLabels['tvdb_id']:
        try:
            item.show = platformtools.dialog_input(
                default=item.show, heading=config.get_localized_string(
                    30112))  # <- Enter title to search
            tvdb.find_and_set_infoLabels(item)
        except:
            heading = config.get_localized_string(
                70704)  # <- TMDB ID (0 to cancel)
            info = platformtools.dialog_numeric(0, heading)
            item.infoLabels['tvdb_id'] = '0' if info == '' else info

    if item.infoLabels['tvdb_id']:
        ID = item.infoLabels['tvdb_id']
        dict_renumerate = {TAG_ID: ID}
        dict_series[title] = dict_renumerate

        # Trova la Stagione
        if any(word in title.lower() for word in ['specials', 'speciali']):
            heading = config.get_localized_string(
                70686
            )  # <- Enter the number of the starting season (for specials)
            season = platformtools.dialog_numeric(0, heading, '0')
            dict_renumerate[TAG_SEASON] = season
        elif RepresentsInt(title.split()[-1]):
            heading = config.get_localized_string(
                70686
            )  # <- Enter the number of the starting season (for season > 1)
            season = platformtools.dialog_numeric(0, heading,
                                                  title.split()[-1])
            dict_renumerate[TAG_SEASON] = season
        else:
            heading = config.get_localized_string(
                70686
            )  # <- Enter the number of the starting season (for season 1)
            season = platformtools.dialog_numeric(0, heading, '1')
            dict_renumerate[TAG_SEASON] = season

        mode = platformtools.dialog_yesno(
            config.get_localized_string(70687),
            config.get_localized_string(70688),
            nolabel=config.get_localized_string(30023),
            yeslabel=config.get_localized_string(30022))
        if mode == True:
            dict_renumerate[TAG_MODE] = False

            if TAG_SPECIAL in dict_series[title]:
                specials = dict_renumerate[TAG_SPECIAL]
            else:
                specials = []

            write(item, dict_series)
            _list = []

            itemlist = find_episodes(item)
            for item in itemlist:
                Title = re.sub(r'\d+x\d+ - ', '', item.title)
                if item.action == 'findvideos':
                    _list.append(Title)

            selected = platformtools.dialog_multiselect(
                config.get_localized_string(70734), _list)
            # if len(selected) > 0:
            for select in selected:
                specials.append(
                    int(scrapertools.find_single_match(_list[select],
                                                       r'(\d+)')))
            dict_renumerate[TAG_SPECIAL] = specials

        dict_renumerate[TAG_MODE] = False

        dict_renumerate[TAG_TYPE] = 'auto'
        dict_renumerate[TAG_EPISODE] = ''
        write(item, dict_series)
        # xbmc.executebuiltin("Container.Refresh")

    else:
        message = config.get_localized_string(60444)
        heading = item.fulltitle.strip()
        platformtools.dialog_notification(heading, message)
Example #9
0
def semiautomatic_config_item(item):
    log()
    # Configurazione Semi Automatica, utile in caso la numerazione automatica fallisca

    tvdb.find_and_set_infoLabels(item)
    item.channel = item.from_channel
    dict_series = jsontools.get_node_from_file(item.channel, TAG_TVSHOW_RENUMERATE)
    title = item.show

    # Trova l'ID della serie
    while not item.infoLabels['tvdb_id']:
        try:
            item.show = platformtools.dialog_input(default=item.show, heading=config.get_localized_string(30112)) # <- Enter title to search
            tvdb.find_and_set_infoLabels(item)
        except:
            heading = config.get_localized_string(70704) # <- TMDB ID (0 to cancel)
            info = platformtools.dialog_numeric(0, heading)
            item.infoLabels['tvdb_id'] = '0' if info == '' else info


    if item.infoLabels['tvdb_id']:
        ID = item.infoLabels['tvdb_id']
        dict_renumerate = {TAG_ID: ID}
        dict_series[title] = dict_renumerate
        # Trova la Stagione
        if any( word in title.lower() for word in ['specials', 'speciali'] ):
            heading = config.get_localized_string(70686) # <- Enter the number of the starting season (for specials)
            season = platformtools.dialog_numeric(0, heading, '0')
            dict_renumerate[TAG_SEASON] = season
        elif RepresentsInt(title.split()[-1]):
            heading = config.get_localized_string(70686) # <- Enter the number of the starting season (for season > 1)
            season = platformtools.dialog_numeric(0, heading, title.split()[-1])
            dict_renumerate[TAG_SEASON] = season
        else:
            heading = config.get_localized_string(70686) # <- Enter the number of the starting season (for season 1)
            season = platformtools.dialog_numeric(0, heading, '1')
            dict_renumerate[TAG_SEASON] = season


        mode = platformtools.dialog_yesno(config.get_localized_string(70687), config.get_localized_string(70688), nolabel=config.get_localized_string(30023), yeslabel=config.get_localized_string(30022))
        if mode == True:
            dict_renumerate[TAG_MODE] = False
            if dict_series[title].has_key(TAG_SPECIAL):
                specials = dict_renumerate[TAG_SPECIAL]
            else:
                specials = []
            jsontools.update_node(dict_series, item.channel, TAG_TVSHOW_RENUMERATE)[0]
            _list = []
            # channel = __import__('channels.' + item.channel, fromlist=["channels.%s" % item.channel])
            itemlist = find_episodes(item)
            for item in itemlist:
                Title = re.sub(r'\d+x\d+ - ', '', item.title)
                if item.action == 'findvideos':
                    _list.append(Title)

            selected = platformtools.dialog_multiselect(config.get_localized_string(70734), _list)
            # if len(selected) > 0:
            for select in selected:
                specials.append(int(scrapertoolsV2.find_single_match(_list[select],r'(\d+)')))
            dict_renumerate[TAG_SPECIAL] = specials

            # stop = False
            # while not stop:
            #     heading = config.get_localized_string(70718) + str(specials)
            #     special = platformtools.dialog_numeric(0, heading, '')
            #     if special:
            #         specials.append(int(special))
            #         dict_renumerate[TAG_SPECIAL] = specials
            #     else: stop = True
        dict_renumerate[TAG_MODE] = False

        dict_renumerate[TAG_TYPE] = 'auto'
        # Imposta la voce Episode
        dict_renumerate[TAG_EPISODE] = ''
        # Scrive nel json
        jsontools.update_node(dict_series, item.channel, TAG_TVSHOW_RENUMERATE)[0]
        xbmc.executebuiltin("Container.Refresh")

    else:
        message = config.get_localized_string(60444)
        heading = item.show.strip()
        platformtools.dialog_notification(heading, message)