[utils] Share JSON-LD regex
authorSergey M․ <dstftw@gmail.com>
Mon, 9 Jul 2018 16:43:05 +0000 (23:43 +0700)
committerSergey M․ <dstftw@gmail.com>
Mon, 9 Jul 2018 16:43:05 +0000 (23:43 +0700)
youtube_dl/extractor/common.py
youtube_dl/utils.py

index 78f053f1829406e721bded4680c22d372085d709..5d4db54d5235989bd9bbe02a1d49884140a9878c 100644 (file)
@@ -52,6 +52,7 @@ from ..utils import (
     GeoUtils,
     int_or_none,
     js_to_json,
+    JSON_LD_RE,
     mimetype2ext,
     orderedSet,
     parse_codecs,
@@ -1149,8 +1150,7 @@ class InfoExtractor(object):
 
     def _search_json_ld(self, html, video_id, expected_type=None, **kwargs):
         json_ld = self._search_regex(
-            r'(?s)<script[^>]+type=(["\'])application/ld\+json\1[^>]*>(?P<json_ld>.+?)</script>',
-            html, 'JSON-LD', group='json_ld', **kwargs)
+            JSON_LD_RE, html, 'JSON-LD', group='json_ld', **kwargs)
         default = kwargs.get('default', NO_DEFAULT)
         if not json_ld:
             return default if default is not NO_DEFAULT else {}
index 6a3199fb992b72e70b6588d3999e9c6ec0a87890..8c45166d76cd1d9150e67ba26f80ce61cb8c275c 100644 (file)
@@ -184,6 +184,7 @@ DATE_FORMATS_MONTH_FIRST.extend([
 ])
 
 PACKED_CODES_RE = r"}\('(.+)',(\d+),(\d+),'([^']+)'\.split\('\|'\)"
+JSON_LD_RE = r'(?is)<script[^>]+type=(["\'])application/ld\+json\1[^>]*>(?P<json_ld>.+?)</script>'
 
 
 def preferredencoding():