[KTH] Add new extractor for KTH play (#30885)
authorÁrni Dagur <arni@dagur.eu>
Thu, 28 Apr 2022 09:18:10 +0000 (11:18 +0200)
committerGitHub <noreply@github.com>
Thu, 28 Apr 2022 09:18:10 +0000 (10:18 +0100)
* Implement extractor for KTH play
* Make KTH Play url regex more relaxed

youtube_dl/extractor/extractors.py
youtube_dl/extractor/kaltura.py
youtube_dl/extractor/kth.py [new file with mode: 0644]

index 535080d0a0cf0b94d226690f0303b3712907da7d..452caeade71f0bea6890db80a11d402056db82f9 100644 (file)
@@ -557,6 +557,7 @@ from .kinja import KinjaEmbedIE
 from .kinopoisk import KinoPoiskIE
 from .konserthusetplay import KonserthusetPlayIE
 from .krasview import KrasViewIE
+from .kth import KTHIE
 from .ku6 import Ku6IE
 from .kusi import KUSIIE
 from .kuwo import (
index c731612c4ef164e2bffb3293da2bf8747b3a2244..6d4d93394787ff19f5b245a7d437e505e332db95 100644 (file)
@@ -373,5 +373,5 @@ class KalturaIE(InfoExtractor):
             'duration': info.get('duration'),
             'timestamp': info.get('createdAt'),
             'uploader_id': info.get('userId') if info.get('userId') != 'None' else None,
-            'view_count': info.get('plays'),
+            'view_count': int_or_none(info.get('plays')),
         }
diff --git a/youtube_dl/extractor/kth.py b/youtube_dl/extractor/kth.py
new file mode 100644 (file)
index 0000000..b8db461
--- /dev/null
@@ -0,0 +1,31 @@
+# coding: utf-8
+from __future__ import unicode_literals
+
+from .common import InfoExtractor
+from ..utils import smuggle_url
+
+
+class KTHIE(InfoExtractor):
+    _VALID_URL = r'https?://play\.kth\.se/(?:[^/]+/)+(?P<id>[a-z0-9_]+)'
+    _TEST = {
+        'url': 'https://play.kth.se/media/Lunch+breakA+De+nya+aff%C3%A4rerna+inom+Fordonsdalen/0_uoop6oz9',
+        'md5': 'd83ada6d00ca98b73243a88efe19e8a6',
+        'info_dict': {
+            'id': '0_uoop6oz9',
+            'ext': 'mp4',
+            'title': 'md5:bd1d6931facb6828762a33e6ce865f37',
+            'thumbnail': 're:https?://.+/thumbnail/.+',
+            'duration': 3516,
+            'timestamp': 1647345358,
+            'upload_date': '20220315',
+            'uploader_id': 'md5:0ec23e33a89e795a4512930c8102509f',
+        }
+    }
+
+    def _real_extract(self, url):
+        video_id = self._match_id(url)
+        result = self.url_result(
+            smuggle_url('kaltura:308:%s' % video_id, {
+                'service_url': 'https://api.kaltura.nordu.net'}),
+            'Kaltura')
+        return result