From 42b3bbf57496aae12df6d02929a0b305190860be Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Fri, 17 Dec 2021 16:37:41 +0100 Subject: [PATCH] alcuni fix --- platformcode/launcher.py | 21 +++++++++++++-------- platformcode/platformtools.py | 3 ++- servers/dailymotion.py | 9 +++++++-- servers/torrent.json | 2 +- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/platformcode/launcher.py b/platformcode/launcher.py index a7c85c2f..4fd24530 100644 --- a/platformcode/launcher.py +++ b/platformcode/launcher.py @@ -297,16 +297,21 @@ def findvideos(item, itemlist=[]): p_dialog = platformtools.dialog_progress_bg(config.get_localized_string(20000), config.get_localized_string(60683)) p_dialog.update(0) - # First checks if channel has a "findvideos" function - if hasattr(channel, 'findvideos'): - itemlist = getattr(channel, item.action)(item) + try: + # First checks if channel has a "findvideos" function + if hasattr(channel, 'findvideos'): + itemlist = getattr(channel, item.action)(item) - # If not, uses the generic findvideos function - else: - logger.debug('No channel "findvideos" method, executing core method') - itemlist = servertools.find_video_items(item) + # If not, uses the generic findvideos function + else: + logger.debug('No channel "findvideos" method, executing core method') + itemlist = servertools.find_video_items(item) - itemlist = limitItemlist(itemlist) + itemlist = limitItemlist(itemlist) + except Exception as ex: + template = "An exception of type %s occured. Arguments:\n%r" + message = template % (type(ex).__name__, ex.args) + logger.error(" %s" % message) p_dialog.update(100) p_dialog.close() diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index f17fc0f2..e109748b 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -1892,7 +1892,8 @@ def serverWindow(item, itemlist): from platformcode.launcher import run run(selection) reopen = True - if not selection.server: return + if not selection.server or selection.server == 'torrent': return + db.close() import threading threading.Thread(target=monitor, args=[itemlist]).start() diff --git a/servers/dailymotion.py b/servers/dailymotion.py index 9242658c..070e3048 100644 --- a/servers/dailymotion.py +++ b/servers/dailymotion.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from core import httptools +from core import httptools, support from platformcode import logger, config @@ -19,8 +19,13 @@ def test_video_exists(page_url): def get_video_url(page_url, premium=False, user="", password="", video_password=""): logger.info("(page_url='%s')" % page_url) + video_urls = [] data = response.json url = data.get('qualities', {}).get('auto', [{}])[0].get('url','') - return [["m3u8 [dailymotion]", url]] \ No newline at end of file + urls = support.match(url, patron=r'NAME="([^"]+)"\s*,\s*PROGRESSIVE-URI="([^"]+)').matches + for quality, uri in urls: + video_urls.append(["mp4 [{}p] [dailymotion]".format(quality), uri]) + + return video_urls \ No newline at end of file diff --git a/servers/torrent.json b/servers/torrent.json index 03725573..3b2cd4d7 100644 --- a/servers/torrent.json +++ b/servers/torrent.json @@ -41,7 +41,7 @@ "ignore_urls": [], "patterns": [ { - "pattern": "(http[s]?:\\/\\/(?:[a-zA-Z0-9]+)\\.torrent)", + "pattern": "(https?:\/\/\\S+.torrent)", "url": "\\1" }, {