Autorenumber Seleziona speciali per nuovi episodi

This commit is contained in:
Alhaziel01
2020-11-09 17:52:54 +01:00
parent 87b960007a
commit 1501b4fdda

View File

@@ -102,11 +102,13 @@ class autorenumber():
self.itemlist = itemlist
self.auto = False
self.dictSeries = load(self.itemlist[0]) if self.itemlist else load(item) if item else {}
self.Episodes = {}
self.sp = False
if self.item:
self.auto = config.get_setting('autorenumber', item.channel)
self.title = self.item.fulltitle.strip()
if match(self.itemlist[0].title, patron=r'(\d+\D\d+)').match:
return itemlist
return
elif self.item.channel in self.item.channel_prefs and TVSHOW_RENUMERATE in self.item.channel_prefs[item.channel] and self.title not in self.dictSeries:
from core.videolibrarytools import check_renumber_options
from specials.videolibrary import update_videolibrary
@@ -114,7 +116,7 @@ class autorenumber():
update_videolibrary(self.item)
if self.title in self.dictSeries and ID in self.dictSeries[self.title] and self.dictSeries[self.title][ID] != '0':
self.id = self.dictSeries[self.title][ID]
self.Episodes = b64(self.dictSeries[self.title][EPISODE], 'decode')
self.Episodes = b64(self.dictSeries[self.title][EPISODE], 'decode') if EPISODE in self.dictSeries[self.title] else {}
self.Season = self.dictSeries[self.title][SEASON]
self.Mode = self.dictSeries[self.title].get(MODE, False)
self.Type = self.dictSeries[self.title].get(TYPE, False)
@@ -158,22 +160,19 @@ class autorenumber():
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.dictRenumber[EPISODE] = {}
self.Season = self.dictRenumber[SEASON] = season
# self.Episodes = self.dictRenumber[EPISODE]
self.renumber()
def renumber(self):
if not self.item.renumber and self.itemlist and match(self.itemlist[0].title, patron=r'(\d+)').match.lstrip('0') in self.Episodes:
if not self.item.renumber and self.itemlist:
if '|' in self.Season:
season = int(self.Season.split('|')[0])
addNumber = int(self.Season.split('|')[-1]) - 1
else:
season = int(self.Season)
addNumber = 0
for item in self.itemlist:
if not match(item.title, patron=r'[Ss]?(\d+)(?:x|_|\.|\s+)?[Ee]?[Pp]?(\d+)').match:
if not match(item.title, patron=r'[Ss]?(\d+)(?:x|_|\.|\s+)[Ee]?[Pp]?(\d+)').match:
number = match(item.title, patron=r'(\d+)').match.lstrip('0')
if number:
if number in self.Episodes:
@@ -203,7 +202,6 @@ class autorenumber():
season = int(self.Season)
ep = 1
# pdialog = platformtools.dialog_progress_bg('Rinumerazione', 'creazione lista episodi')
itemlist = find_episodes(self.item)
if self.item.renumber:
@@ -214,6 +212,11 @@ class autorenumber():
if ep != 1: self.Season = '%s|%s' % (Season, Episode)
else: self.Season = str(Season)
elif self.Episodes and not self.Mode:
self.s = season
self.e = ep
self.sp = True
Season, Episode, self.Mode, Specials, Seasons, Exit = SelectreNumeration(self, itemlist)
if self.Mode:
if not Seasons:
@@ -261,7 +264,6 @@ class autorenumber():
ep = ep + 1
allep = allep + 1
self.Episodes = {}
if season > 1:
for numbers, data in self.regular.items():
if data[0] == str(season) + 'x1':
@@ -269,10 +271,8 @@ class autorenumber():
else: FirstOfSeason = Episode - 1
addiction = 0
# specialsCount = 1
# pdialog.update(80, 'rinumerazione')
for item in itemlist:
if not match(re.sub(r'\[[^\]]+\]','',item.title), patron=r'[Ss]?(\d+)(?:x|_|\.|\s+)?[Ee]?[Pp]?(\d+)').match:
if not match(re.sub(r'\[[^\]]+\]','',item.title), patron=r'[Ss]?(\d+)(?:x|_|\.|\s+)[Ee]?[Pp]?(\d+)').match:
# Otiene Numerazione Episodi
scraped_ep = match(re.sub(r'\[[^\]]+\]','',item.title), patron=r'(\d+)').match
if scraped_ep:
@@ -289,14 +289,13 @@ class autorenumber():
try: Episodes[str(episode)] = str(self.complete[self.regular[number+2][2]][0])
except: self.Episodes[str(episode)] = '0x0'
if self.Episodes: self.dictSeries[self.title][EPISODE] = b64(jsontools.dump(self.Episodes))
self.dictSeries[self.title][EPLIST] = b64(jsontools.dump(self.EpList))
self.dictSeries[self.title][MODE] = self.Mode
self.dictSeries[self.title][SEASON] = self.Season
self.dictSeries[self.title][CHECK] = self.Pages
write(self.item, self.dictSeries)
# pdialog.close()
if self.auto: self.renumber()
@@ -366,6 +365,7 @@ class SelectreNumerationWindow(xbmcgui.WindowXMLDialog):
self.season = opt.s
self.episode = opt.e
self.mode = opt.Mode
self.sp = opt.sp
self.manual = opt.manual
self.offset = 0
self.Exit = False
@@ -385,10 +385,11 @@ class SelectreNumerationWindow(xbmcgui.WindowXMLDialog):
if config.get_platform(True)['num_version'] < 18: self.setCoordinateResolution(2)
fanart = self.item.fanart
thumb = self.item.thumbnail
self.getControl(SELECT).setVisible(False)
self.getControl(SPECIALS).setVisible(False)
self.getControl(MANUAL).setVisible(False)
# MANUAL
if self.manual:
self.getControl(SELECT).setVisible(False)
self.getControl(SPECIALS).setVisible(False)
self.getControl(MANUAL).setVisible(True)
self.getControl(MPOSTER).setImage(thumb)
if fanart: self.getControl(MBACKGROUND).setImage(fanart)
@@ -417,14 +418,10 @@ class SelectreNumerationWindow(xbmcgui.WindowXMLDialog):
self.getControl(MLIST).addItems(self.items)
self.setFocusId(MLIST)
self.getControl(MLIST).selectItem(position)
# SPECIALS
# MAIN / SPECIALS
else:
self.getControl(SELECT).setVisible(True)
self.getControl(SPECIALS).setVisible(False)
self.getControl(MANUAL).setVisible(False)
for item in self.itemlist:
if not match(item.title, patron=r'[Ss]?(\d+)(?:x|_|\.|\s+)?[Ee]?[Pp]?(\d+)').match:
if not match(item.title, patron=r'[Ss]?(\d+)(?:x|_|\.|\s+)[Ee]?[Pp]?(\d+)').match:
title = match(item.title, patron=r'(\d+)').match.lstrip('0')
it = xbmcgui.ListItem(title)
self.items.append(it)
@@ -437,12 +434,16 @@ class SelectreNumerationWindow(xbmcgui.WindowXMLDialog):
self.getControl(INFO).setLabel(typo(config.get_localized_string(70824) + self.title, 'bold'))
self.getControl(LIST).addItems(self.items)
self.getControl(S).setLabel(str(self.season))
# self.getControl(S).setType(1, config.get_localized_string(60385))
self.getControl(E).setLabel(str(self.episode))
# self.getControl(E).setType(1, config.get_localized_string(60386))
if self.sp:
self.getControl(SPECIALS).setVisible(True)
self.setFocusId(OK)
else:
self.getControl(SELECT).setVisible(True)
self.setFocusId(O)
self.getControl(S).setLabel(str(self.season))
self.getControl(E).setLabel(str(self.episode))
self.setFocusId(O)
def onFocus(self, focus):
if focus in [S]: self.getControl(108).setLabel(typo(config.get_localized_string(70825), 'bold'))