about summary refs log tree commit diff
path: root/youtube_dl/extractor/onet.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2017-02-15 00:58:18 +0700
committerSergey M․ <dstftw@gmail.com>2017-02-15 00:58:18 +0700
commitd31aa74fdb3f69071ba869feba03525f67e974f0 (patch)
tree4349b5d2a8e147bd7069abc201cfc2a6778b6cca /youtube_dl/extractor/onet.py
parent6092ccd05844976ea946ba5277f2b00ccb5c7920 (diff)
downloadyoutube-dl-d31aa74fdb3f69071ba869feba03525f67e974f0.tar.gz
youtube-dl-d31aa74fdb3f69071ba869feba03525f67e974f0.tar.xz
youtube-dl-d31aa74fdb3f69071ba869feba03525f67e974f0.zip
[onetmvp] Add shortcut extractor
Diffstat (limited to 'youtube_dl/extractor/onet.py')
-rw-r--r--youtube_dl/extractor/onet.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/youtube_dl/extractor/onet.py b/youtube_dl/extractor/onet.py
index 0a501b3e5..46bad492a 100644
--- a/youtube_dl/extractor/onet.py
+++ b/youtube_dl/extractor/onet.py
@@ -23,7 +23,7 @@ class OnetBaseIE(InfoExtractor):
         return self._search_regex(
             r'id=(["\'])mvp:(?P<id>.+?)\1', webpage, 'mvp id', group='id')
 
-    def _extract_from_id(self, video_id, webpage):
+    def _extract_from_id(self, video_id, webpage=None):
         response = self._download_json(
             'http://qi.ckm.onetapi.pl/', video_id,
             query={
@@ -74,8 +74,10 @@ class OnetBaseIE(InfoExtractor):
 
         meta = video.get('meta', {})
 
-        title = self._og_search_title(webpage, default=None) or meta['title']
-        description = self._og_search_description(webpage, default=None) or meta.get('description')
+        title = (self._og_search_title(
+            webpage, default=None) if webpage else None) or meta['title']
+        description = (self._og_search_description(
+            webpage, default=None) if webpage else None) or meta.get('description')
         duration = meta.get('length') or meta.get('lenght')
         timestamp = parse_iso8601(meta.get('addDate'), ' ')
 
@@ -89,6 +91,18 @@ class OnetBaseIE(InfoExtractor):
         }
 
 
+class OnetMVPIE(OnetBaseIE):
+    _VALID_URL = r'onetmvp:(?P<id>\d+\.\d+)'
+
+    _TEST = {
+        'url': 'onetmvp:381027.1509591944',
+        'only_matching': True,
+    }
+
+    def _real_extract(self, url):
+        return self._extract_from_id(self._match_id(url))
+
+
 class OnetIE(OnetBaseIE):
     _VALID_URL = r'https?://(?:www\.)?onet\.tv/[a-z]/[a-z]+/(?P<display_id>[0-9a-z-]+)/(?P<id>[0-9a-z]+)'
     IE_NAME = 'onet.tv'