about summary refs log tree commit diff
path: root/youtube_dl/extractor/tv2dk.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2021-05-01 17:53:27 +0700
committerSergey M․ <dstftw@gmail.com>2021-05-01 17:53:27 +0700
commite33dfb445c547f210a7060e8b7abd592dbe42808 (patch)
treef34e180b8e1674b3f5231f48355b26c359644e75 /youtube_dl/extractor/tv2dk.py
parent94520568b399d5b4f35a9708f5643d8b16c6c4ee (diff)
downloadyoutube-dl-e33dfb445c547f210a7060e8b7abd592dbe42808.tar.gz
youtube-dl-e33dfb445c547f210a7060e8b7abd592dbe42808.tar.xz
youtube-dl-e33dfb445c547f210a7060e8b7abd592dbe42808.zip
[tv2dk] Fix extraction (closes #28888)
Diffstat (limited to 'youtube_dl/extractor/tv2dk.py')
-rw-r--r--youtube_dl/extractor/tv2dk.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/youtube_dl/extractor/tv2dk.py b/youtube_dl/extractor/tv2dk.py
index 8bda9348d..8bd5fd640 100644
--- a/youtube_dl/extractor/tv2dk.py
+++ b/youtube_dl/extractor/tv2dk.py
@@ -74,6 +74,12 @@ class TV2DKIE(InfoExtractor):
         webpage = self._download_webpage(url, video_id)
 
         entries = []
+
+        def add_entry(partner_id, kaltura_id):
+            entries.append(self.url_result(
+                'kaltura:%s:%s' % (partner_id, kaltura_id), 'Kaltura',
+                video_id=kaltura_id))
+
         for video_el in re.findall(r'(?s)<[^>]+\bdata-entryid\s*=[^>]*>', webpage):
             video = extract_attributes(video_el)
             kaltura_id = video.get('data-entryid')
@@ -82,9 +88,14 @@ class TV2DKIE(InfoExtractor):
             partner_id = video.get('data-partnerid')
             if not partner_id:
                 continue
-            entries.append(self.url_result(
-                'kaltura:%s:%s' % (partner_id, kaltura_id), 'Kaltura',
-                video_id=kaltura_id))
+            add_entry(partner_id, kaltura_id)
+        if not entries:
+            kaltura_id = self._search_regex(
+                r'entry_id\s*:\s*["\']([0-9a-z_]+)', webpage, 'kaltura id')
+            partner_id = self._search_regex(
+                (r'\\u002Fp\\u002F(\d+)\\u002F', r'/p/(\d+)/'), webpage,
+                'partner id')
+            add_entry(partner_id, kaltura_id)
         return self.playlist_result(entries)