summary refs log tree commit diff
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2016-04-17 17:22:59 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2016-04-17 17:24:33 +0800
commit0f97fb4d00fa6353c9aebf38e632f559fe89b636 (patch)
tree1ed50e1b8008e08af53e894b537b4711fb7aadef
parentb1cf58f48ff1b748d0bfe73c75b20371a9a3629c (diff)
downloadyoutube-dl-0f97fb4d00fa6353c9aebf38e632f559fe89b636.tar.gz
youtube-dl-0f97fb4d00fa6353c9aebf38e632f559fe89b636.tar.xz
youtube-dl-0f97fb4d00fa6353c9aebf38e632f559fe89b636.zip
[musicplayon] Relax _VALID_URL and improve metadata extraction
In r'pl=\d+&play=\d+' pages, several metadata items are missing

Closes #9222.
-rw-r--r--youtube_dl/extractor/musicplayon.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/youtube_dl/extractor/musicplayon.py b/youtube_dl/extractor/musicplayon.py
index d74b276c1..2174e5665 100644
--- a/youtube_dl/extractor/musicplayon.py
+++ b/youtube_dl/extractor/musicplayon.py
@@ -11,9 +11,9 @@ from ..utils import (
 
 
 class MusicPlayOnIE(InfoExtractor):
-    _VALID_URL = r'https?://(?:.+?\.)?musicplayon\.com/play(?:-touch)?\?(?:v|pl=100&play)=(?P<id>\d+)'
+    _VALID_URL = r'https?://(?:.+?\.)?musicplayon\.com/play(?:-touch)?\?(?:v|pl=\d+&play)=(?P<id>\d+)'
 
-    _TEST = {
+    _TESTS = [{
         'url': 'http://en.musicplayon.com/play?v=433377',
         'md5': '00cdcdea1726abdf500d1e7fd6dd59bb',
         'info_dict': {
@@ -24,10 +24,16 @@ class MusicPlayOnIE(InfoExtractor):
             'duration': 342,
             'uploader': 'ultrafish',
         },
-    }
+    }, {
+        'url': 'http://en.musicplayon.com/play?pl=102&play=442629',
+        'only_matching': True,
+    }]
+
+    _URL_TEMPLATE = 'http://en.musicplayon.com/play?v=%s'
 
     def _real_extract(self, url):
         video_id = self._match_id(url)
+        url = self._URL_TEMPLATE % video_id
 
         page = self._download_webpage(url, video_id)