about summary refs log tree commit diff
path: root/youtube_dl/extractor/theplatform.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-05-22 06:47:22 +0600
committerSergey M․ <dstftw@gmail.com>2016-05-22 06:47:22 +0600
commit898f4b49ccc828f86a075d656aa9a1e1428e538c (patch)
tree6de45c550ad7d00e093672f9952edd8dcd171c91 /youtube_dl/extractor/theplatform.py
parent0150a00f333371b366ff10871458e0b071f20ee3 (diff)
downloadyoutube-dl-898f4b49ccc828f86a075d656aa9a1e1428e538c.tar.gz
youtube-dl-898f4b49ccc828f86a075d656aa9a1e1428e538c.tar.xz
youtube-dl-898f4b49ccc828f86a075d656aa9a1e1428e538c.zip
[theplatform] Add _extract_urls
Diffstat (limited to 'youtube_dl/extractor/theplatform.py')
-rw-r--r--youtube_dl/extractor/theplatform.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/youtube_dl/extractor/theplatform.py b/youtube_dl/extractor/theplatform.py
index a25417f94..02dbef913 100644
--- a/youtube_dl/extractor/theplatform.py
+++ b/youtube_dl/extractor/theplatform.py
@@ -151,6 +151,22 @@ class ThePlatformIE(ThePlatformBaseIE):
         'only_matching': True,
     }]
 
+    @classmethod
+    def _extract_urls(cls, webpage):
+        m = re.search(
+            r'''(?x)
+                    <meta\s+
+                        property=(["'])(?:og:video(?::(?:secure_)?url)?|twitter:player)\1\s+
+                        content=(["'])(?P<url>https?://player\.theplatform\.com/p/.+?)\2
+            ''', webpage)
+        if m:
+            return [m.group('url')]
+
+        matches = re.findall(
+            r'<(?:iframe|script)[^>]+src=(["\'])((?:https?:)?//player\.theplatform\.com/p/.+?)\1', webpage)
+        if matches:
+            return list(zip(*matches))[1]
+
     @staticmethod
     def _sign_url(url, sig_key, sig_secret, life=600, include_qs=False):
         flags = '10' if include_qs else '00'