From be6eb1857064740a3af0156b0c71956ea5aff45a Mon Sep 17 00:00:00 2001 From: 4l3x87 <50104109+4l3x87@users.noreply.github.com> Date: Mon, 27 Sep 2021 17:38:58 +0200 Subject: [PATCH] Fix Turbovid (#345) --- core/support.py | 13 ++++++++----- servers/directo.json | 7 +------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/core/support.py b/core/support.py index 2ad18174..dd660d82 100755 --- a/core/support.py +++ b/core/support.py @@ -1437,17 +1437,20 @@ def addQualityTag(item, itemlist, data, patron): def get_jwplayer_mediaurl(data, srvName, onlyHttp=False, dataIsBlock=False): from core import jsontools video_urls = [] - block = scrapertools.find_single_match(data, r'sources"?\s*:\s*(.*?}])') if not dataIsBlock else data + block = scrapertools.find_single_match(data, r'sources"?\s*:\s*(.*?}?])') if not dataIsBlock else data if block: json = jsontools.load(block) if json: sources = [] for s in json: - if 'file' in s.keys(): - src = s['file'] + if isinstance(s, str): + sources.append((s, '')) else: - src = s['src'] - sources.append((src, s.get('label'))) + if 'file' in s.keys(): + src = s['file'] + else: + src = s['src'] + sources.append((src, s.get('label'))) else: if 'file:' in block: sources = scrapertools.find_multiple_matches(block, r'file:\s*"([^"]+)"(?:,label:\s*"([^"]+)")?') diff --git a/servers/directo.json b/servers/directo.json index 185c7952..a1b0a9fd 100644 --- a/servers/directo.json +++ b/servers/directo.json @@ -4,12 +4,7 @@ "ignore_urls": [], "patterns": [ { - "pattern": "((?:http://|https://).*?m3u8[^\"'\n]*)", - "url": "\\1" - - }, - { - "pattern": "((?:http://|https://).*?.mpd[^\"'\n]*)", + "pattern": "((?:https?://).\\S+.(m3u8|mp4|mpeg|mpd|flv)[^\"'\n]*)", "url": "\\1" }, {