Fix for issue #25311, redtube json error

This commit is contained in:
Mike Gering 2020-05-19 09:51:22 -04:00
parent 52c50a10af
commit 3fde270c23

View File

@ -1,5 +1,6 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import json
import re import re
from .common import InfoExtractor from .common import InfoExtractor
@ -75,10 +76,15 @@ class RedTubeIE(InfoExtractor):
'format_id': format_id, 'format_id': format_id,
'height': int_or_none(format_id), 'height': int_or_none(format_id),
}) })
# find the mediaDefinitions string that is json-parsable
mobj = re.search(r'mediaDefinition\s*:\s*(\[.+?\])', webpage)
doc1 = webpage[mobj.start(1):]
try:
x = json.loads(doc1)
except json.JSONDecodeError as exc:
doc1 = doc1[0:exc.pos]
medias = self._parse_json( medias = self._parse_json(
self._search_regex( doc1,
r'mediaDefinition\s*:\s*(\[.+?\])', webpage,
'media definitions', default='{}'),
video_id, fatal=False) video_id, fatal=False)
if medias and isinstance(medias, list): if medias and isinstance(medias, list):
for media in medias: for media in medias: