Fic TVDB e Autorenumber in casi limite

This commit is contained in:
Alhaziel01
2020-11-07 16:41:38 +01:00
parent 84452a962b
commit 549ca38125
2 changed files with 40 additions and 36 deletions
+5 -2
View File
@@ -163,7 +163,7 @@ def set_infoLabels_item(item):
if 'infoLabels' in item and 'fanart' in item.infoLabels['fanart']: if 'infoLabels' in item and 'fanart' in item.infoLabels['fanart']:
item.fanart = item.infoLabels['fanart'] item.fanart = item.infoLabels['fanart']
if 'infoLabels' in item and 'season' in item.infoLabels: if 'infoLabels' in item and 'season' in item.infoLabels and item.contentType == 'episode':
try: try:
int_season = int(item.infoLabels['season']) int_season = int(item.infoLabels['season'])
except ValueError: except ValueError:
@@ -659,10 +659,12 @@ class Tvdb(object):
url = HOST + "/episodes/%s" % _id url = HOST + "/episodes/%s" % _id
# from core.support import dbg;dbg()
try: try:
DEFAULT_HEADERS["Accept-Language"] = lang DEFAULT_HEADERS["Accept-Language"] = lang
logger.debug("url: %s, \nheaders: %s" % (url, DEFAULT_HEADERS)) logger.debug("url: %s, \nheaders: %s" % (url, DEFAULT_HEADERS))
dict_html = requests.get(url, headers=DEFAULT_HEADERS).json req = requests.get(url, headers=DEFAULT_HEADERS)
except Exception as ex: except Exception as ex:
# if isinstance(ex, urllib).HTTPError: # if isinstance(ex, urllib).HTTPError:
@@ -671,6 +673,7 @@ class Tvdb(object):
logger.error("error en: %s" % message) logger.error("error en: %s" % message)
else: else:
dict_html = req.json()
# logger.info("dict_html %s" % dict_html) # logger.info("dict_html %s" % dict_html)
self.episodes[_id] = dict_html.pop("data") if 'Error' not in dict_html else {} self.episodes[_id] = dict_html.pop("data") if 'Error' not in dict_html else {}
+35 -34
View File
@@ -109,7 +109,7 @@ class autorenumber():
from specials.videolibrary import update_videolibrary from specials.videolibrary import update_videolibrary
check_renumber_options(self.item) check_renumber_options(self.item)
update_videolibrary(self.item) update_videolibrary(self.item)
if self.title in self.dictSeries: 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.id = self.dictSeries[self.title][ID]
self.Episodes = b64(self.dictSeries[self.title][EPISODE], 'decode') self.Episodes = b64(self.dictSeries[self.title][EPISODE], 'decode')
self.Season = self.dictSeries[self.title][SEASON] self.Season = self.dictSeries[self.title][SEASON]
@@ -161,7 +161,7 @@ class autorenumber():
self.renumber() self.renumber()
def renumber(self): def renumber(self):
if not self.item.renumber and self.itemlist and len(self.Episodes) >= len(self.itemlist) and match(self.itemlist[0].title, patron=r'(\d+)').match in self.Episodes: if not self.item.renumber and self.itemlist and match(self.itemlist[0].title, patron=r'(\d+)').match.lstrip('0') in self.Episodes:
if '|' in self.Season: if '|' in self.Season:
season = int(self.Season.split('|')[0]) season = int(self.Season.split('|')[0])
addNumber = int(self.Season.split('|')[-1]) - 1 addNumber = int(self.Season.split('|')[-1]) - 1
@@ -170,16 +170,16 @@ class autorenumber():
addNumber = 0 addNumber = 0
for item in self.itemlist: for item in self.itemlist:
number = match(item.title, patron=r'(\d+)').match if not match(item.title, patron=r'(\d+)x(\d+)').match:
number = number.lstrip('0') number = match(item.title, patron=r'(\d+)').match.lstrip('0')
if number: if number:
if number in self.Episodes: if number in self.Episodes:
if season > 0: item.title = typo(self.Episodes[number] + ' - ', 'bold') + item.title if season > 0: item.title = typo(self.Episodes[number] + ' - ', 'bold') + item.title
else: item.title = typo('0x%s - ' % str(int(number) + addNumber), 'bold') + item.title else: item.title = typo('0x%s - ' % str(int(number) + addNumber), 'bold') + item.title
else: else:
self.makelist() self.makelist()
if season > 0: item.title = typo(self.Episodes[number] + ' - ', 'bold') + item.title if season > 0: item.title = typo(self.Episodes[number] + ' - ', 'bold') + item.title
else: item.title = typo('0x%s - ' % str(int(number) + addNumber), 'bold') + item.title else: item.title = typo('0x%s - ' % str(int(number) + addNumber), 'bold') + item.title
else: else:
self.makelist() self.makelist()
@@ -269,24 +269,25 @@ class autorenumber():
# specialsCount = 1 # specialsCount = 1
# pdialog.update(80, 'rinumerazione') # pdialog.update(80, 'rinumerazione')
for item in itemlist: for item in itemlist:
# Otiene Numerazione Episodi if not match(re.sub(r'\[[^\]]+\]','',item.title), patron=r'(\d+)x(\d+)').match:
scraped_ep = match(re.sub(r'\[[^\]]+\]','',item.title), patron=r'(\d+)').match # Otiene Numerazione Episodi
if scraped_ep: scraped_ep = match(re.sub(r'\[[^\]]+\]','',item.title), patron=r'(\d+)').match
episode = int(scraped_ep) if scraped_ep:
number = episode + FirstOfSeason - addiction episode = int(scraped_ep)
if episode == 0: number = episode + FirstOfSeason - addiction
self.Episodes[str(episode)] = str(self.complete[self.regular[FirstOfSeason+1][2]][0]) if episode == 0:
elif episode in Specials: self.Episodes[str(episode)] = str(self.complete[self.regular[FirstOfSeason+1][2]][0])
self.Episodes[str(episode)] = Specials[episode] elif episode in Specials:
addiction += 1 self.Episodes[str(episode)] = Specials[episode]
elif number <= len(self.regular) and number in self.regular: addiction += 1
self.Episodes[str(episode)] = str(self.regular[number][0]) elif number <= len(self.regular) and number in self.regular:
else: self.Episodes[str(episode)] = str(self.regular[number][0])
try: Episodes[str(episode)] = str(self.complete[self.regular[number+2][2]][0]) else:
except: self.Episodes[str(episode)] = '0x0' try: Episodes[str(episode)] = str(self.complete[self.regular[number+2][2]][0])
except: self.Episodes[str(episode)] = '0x0'
self.dictSeries[self.title][EPISODE] = b64(jsontools.dump(self.Episodes)) 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][EPLIST] = b64(jsontools.dump(self.EpList))
self.dictSeries[self.title][MODE] = self.Mode self.dictSeries[self.title][MODE] = self.Mode
self.dictSeries[self.title][SEASON] = self.Season self.dictSeries[self.title][SEASON] = self.Season
@@ -396,7 +397,7 @@ class SelectreNumerationWindow(xbmcgui.WindowXMLDialog):
ep = '1' ep = '1'
position = 0 position = 0
for i, item in enumerate(self.itemlist): for i, item in enumerate(self.itemlist):
title = match(item.title, patron=r'(\d+)').match title = match(item.title, patron=r'(\d+)').match.lstrip('0')
it = xbmcgui.ListItem(title) it = xbmcgui.ListItem(title)
if int(title) <= len(self.episodes): if int(title) <= len(self.episodes):
se, ep = self.episodes[title].split('x') se, ep = self.episodes[title].split('x')
@@ -419,11 +420,11 @@ class SelectreNumerationWindow(xbmcgui.WindowXMLDialog):
self.getControl(SPECIALS).setVisible(False) self.getControl(SPECIALS).setVisible(False)
self.getControl(MANUAL).setVisible(False) self.getControl(MANUAL).setVisible(False)
for i, item in enumerate(self.itemlist): for item in self.itemlist:
title = match(item.title, patron=r'(\d+)').match if not match(item.title, patron=r'(\d+)x(\d+)').match:
it = xbmcgui.ListItem(title) title = match(item.title, patron=r'(\d+)').match.lstrip('0')
it.setProperty('index', str(i)) it = xbmcgui.ListItem(title)
self.items.append(it) self.items.append(it)
self.getControl(POSTER).setImage(thumb) self.getControl(POSTER).setImage(thumb)
self.getControl(MPOSTER).setImage(thumb) self.getControl(MPOSTER).setImage(thumb)