[musicplayon] Relax _VALID_URL and improve metadata extraction
authorYen Chi Hsuan <yan12125@gmail.com>
Sun, 17 Apr 2016 09:22:59 +0000 (17:22 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Sun, 17 Apr 2016 09:24:33 +0000 (17:24 +0800)
In r'pl=\d+&play=\d+' pages, several metadata items are missing

Closes #9222.

youtube_dl/extractor/musicplayon.py

index d74b276c1884372efed065d6e1c993819e4f9b29..2174e5665778b590055c06255a91c030cb579d29 100644 (file)
@@ -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)