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()
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)
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)
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)
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)
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)
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))
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)
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)