From 14ee433eb5a8b01c2e1d5701241e5cff7a3077ba Mon Sep 17 00:00:00 2001 From: marco <10120390+mac12m99@users.noreply.github.com> Date: Thu, 2 Mar 2023 20:47:05 +0100 Subject: [PATCH] Fix VVVVID, streamsb e nuovo server filemoon. Miglior passaggio info a trakt (se attivo) --- channels/vvvvid.py | 2 +- core/trakt_tools.py | 4 +++- servers/filemoon.json | 25 +++++++++++++++++++++++++ servers/filemoon.py | 24 ++++++++++++++++++++++++ servers/streamsb.json | 6 +++++- servers/streamsb.py | 2 +- 6 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 servers/filemoon.json create mode 100644 servers/filemoon.py diff --git a/channels/vvvvid.py b/channels/vvvvid.py index c3441472..fc32db05 100644 --- a/channels/vvvvid.py +++ b/channels/vvvvid.py @@ -18,7 +18,7 @@ host = 'https://www.vvvvid.it' # Creating persistent session current_session = requests.Session() # current_session.request = functools.partial(current_session.request, timeout=httptools.HTTPTOOLS_DEFAULT_DOWNLOAD_TIMEOUT) -headers = {'User-Agent': "".join([random.choice(string.ascii_letters) for y in range(random.randint(1,30))])} +headers = {'User-Agent': httptools.random_useragent()} # Getting conn_id token from vvvvid and creating payload login_page = host + '/user/login' diff --git a/core/trakt_tools.py b/core/trakt_tools.py index 90d81207..fe1b076a 100644 --- a/core/trakt_tools.py +++ b/core/trakt_tools.py @@ -130,10 +130,12 @@ def token_trakt(item): def set_trakt_info(item): logger.debug() import xbmcgui + from core import scrapertools # Envia los datos a trakt try: info = item.infoLabels - ids = jsontools.dump({'tmdb': info['tmdb_id'] , 'imdb': info['imdb_id'], 'slug': info['title']}) + ids = jsontools.dump({'tmdb': info['tmdb_id'], 'tvdb': info.get('tvdb_id'), 'imdb': info['imdb_id'], + 'slug': scrapertools.slugify(info['title'])}) xbmcgui.Window(10000).setProperty('script.trakt.ids', ids) except: pass diff --git a/servers/filemoon.json b/servers/filemoon.json new file mode 100644 index 00000000..dfa22835 --- /dev/null +++ b/servers/filemoon.json @@ -0,0 +1,25 @@ +{ + "active": true, + "find_videos": { + "ignore_urls": [], + "patterns": [ + { + "pattern": "(?:filemoon|cinegrab)\\.(?:sx|to|in|link|nl|wf|com|eu|art)/(?:e|d)/([0-9a-zA-Z]+)", + "url": "https://filemoon.sx/e/\\1" + } + ] + }, + "free": true, + "id": "filemoon", + "name": "filemoon", + "settings": [ + { + "default": false, + "enabled": true, + "id": "black_list", + "label": "@70708", + "type": "bool", + "visible": true + } + ] +} diff --git a/servers/filemoon.py b/servers/filemoon.py new file mode 100644 index 00000000..cbf61d58 --- /dev/null +++ b/servers/filemoon.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +from core import httptools, support +from lib import jsunpack +from platformcode import config, logger + + +def test_video_exists(page_url): + logger.debug("(page_url='%s')" % page_url) + global data + data = httptools.downloadpage(page_url, cookies=False).data + if '

Page not found

' in data: + return False, config.get_localized_string(70449) % "filemoon" + + return True, "" + + +def get_video_url(page_url, premium=False, user="", password="", video_password=""): + global data + packed = support.match(data, patron=r'(eval\(function\(p.*?)