Fix Trakt

This commit is contained in:
Alhaziel01
2021-12-18 18:28:24 +01:00
parent 0dd880537c
commit 38585f5baa
3 changed files with 31 additions and 21 deletions
+5
View File
@@ -153,6 +153,7 @@ def peliculas(item):
itemlist.append(item.clone(title=support.typo(support.config.get_localized_string(30992), 'color kod bold'), thumbnail=support.thumb(), records=[], page=page + 1))
support.tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
support.check_trakt(itemlist)
return itemlist
def makeItem(n, it, item):
@@ -198,6 +199,8 @@ def episodios(item):
item.clone(title=support.typo(str(episodes['number']) + 'x' + str(it['number']).zfill(2) + ' - ' + support.cleantitle(it['name']), 'bold'),
episode=it['number'],
season=episodes['number'],
contentSeason=episodes['number'],
contentEpisodeNumber=it['number'],
thumbnail=it['images'][0]['original_url'] if 'images' in it and 'original_url' in it['images'][0] else item.thumbnail,
contentThumbnail=item.thumbnail,
fanart=item.fanart,
@@ -209,6 +212,8 @@ def episodios(item):
url=host + '/watch/' + str(episodes['title_id']),
episodeid= '?e=' + str(it['id'])))
support.check_trakt(itemlist)
support.videolibrary(itemlist, item)
support.download(itemlist, item)
return itemlist
+7 -3
View File
@@ -653,9 +653,7 @@ def scrape(func):
# itemlist = filterLang(item, itemlist) # causa problemi a newest
if config.get_setting('trakt_sync'):
from core import trakt_tools
trakt_tools.trakt_check(itemlist)
check_trakt(itemlist)
return itemlist
return wrapper
@@ -1621,3 +1619,9 @@ def vttToSrt(data):
ret += line + os.linesep
return ret
def check_trakt(itemlist):
if config.get_setting('trakt_sync'):
from core import trakt_tools
trakt_tools.trakt_check(itemlist)
return itemlist
+15 -14
View File
@@ -3,11 +3,14 @@
# -*- Created for Alfa-addon -*-
# -*- By the Alfa Develop Group -*
#from builtins import str
import os, xbmc
from core import httptools, jsontools
from core.item import Item
from platformcode import config, logger
from threading import Thread
import sys
if sys.version_info[0] >= 3: from concurrent import futures
else: from concurrent_py2 import futures
@@ -26,7 +29,7 @@ def auth_trakt():
post = {'client_id': client_id}
post = jsontools.dump(post)
# Se solicita url y código de verificación para conceder permiso a la app
url = "http://api.trakt.tv/oauth/device/code"
url = "http://api-v2launch.trakt.tv/oauth/device/code"
data = httptools.downloadpage(url, post=post, headers=headers).data
data = jsontools.load(data)
item.verify_url = data["verification_url"]
@@ -57,14 +60,13 @@ def token_trakt(item):
try:
if item.extra == "renew":
refresh = config.get_setting("refresh_token_trakt", "trakt")
url = "http://api.trakt.tv/oauth/device/token"
url = "https://api.trakt.tv/oauth/token"
post = {'refresh_token': refresh, 'client_id': client_id, 'client_secret': client_secret,
'redirect_uri': 'urn:ietf:wg:oauth:2.0:oob', 'grant_type': 'refresh_token'}
post = jsontools.dump(post)
data = httptools.downloadpage(url, post=post, headers=headers).data
data = httptools.downloadpage(url, post=post).data
data = jsontools.load(data)
elif item.action == "token_trakt":
url = "http://api.trakt.tv/oauth/device/token"
url = "https://api-v2launch.trakt.tv/oauth/device/token"
post = "code=%s&client_id=%s&client_secret=%s" % (item.device_code, client_id, client_secret)
data = httptools.downloadpage(url, post=post, headers=headers).data
data = jsontools.load(data)
@@ -83,7 +85,7 @@ def token_trakt(item):
config.set_setting("trakt_sync", False)
return
url = "http://api.trakt.tv/oauth/device/token"
url = "http://api-v2launch.trakt.tv/oauth/device/token"
post = {'code': item.device_code, 'client_id': client_id, 'client_secret': client_secret}
post = jsontools.dump(post)
data = httptools.downloadpage(url, post=post, headers=headers).data
@@ -106,8 +108,6 @@ def token_trakt(item):
config.set_setting("refresh_token_trakt", refresh, "trakt")
if not item.folder:
platformtools.dialog_notification(config.get_localized_string(60255), config.get_localized_string(60256))
if config.is_xbmc():
import xbmc
xbmc.executebuiltin("Container.Refresh")
return
@@ -166,8 +166,12 @@ def get_trakt_watched(id_type, mediatype, update=False):
if token_auth:
headers.append(['Authorization', "Bearer %s" % token_auth])
url = "https://api.trakt.tv/sync/watched/%s" % mediatype
data = httptools.downloadpage(url, headers=headers).data
watched_dict = jsontools.load(data)
data = httptools.downloadpage(url, headers=headers)
if data.code == 401:
token_trakt(Item(extra="renew"))
return get_trakt_watched(id_type, mediatype, update)
watched_dict = jsontools.load(data.data)
if mediatype == 'shows':
@@ -266,14 +270,12 @@ def ask_install_script():
def wait_for_update_trakt():
logger.debug()
t = Thread(target=update_all)
t = Thread(update_all)
t.setDaemon(True)
t.start()
t.is_alive()
def update_all():
# from core.support import dbg;dbg()
from time import sleep
logger.debug()
sleep(20)
@@ -282,4 +284,3 @@ def update_all():
for mediatype in ['movies', 'shows']:
trakt_data = get_trakt_watched('tmdb', mediatype, True)
update_trakt_data(mediatype, trakt_data)