diff options
Diffstat (limited to 'youtube_dl/extractor/newgrounds.py')
| -rw-r--r-- | youtube_dl/extractor/newgrounds.py | 21 | 
1 files changed, 16 insertions, 5 deletions
diff --git a/youtube_dl/extractor/newgrounds.py b/youtube_dl/extractor/newgrounds.py index cd117b04e..705940323 100644 --- a/youtube_dl/extractor/newgrounds.py +++ b/youtube_dl/extractor/newgrounds.py @@ -7,8 +7,8 @@ from .common import InfoExtractor  class NewgroundsIE(InfoExtractor): -    _VALID_URL = r'https?://(?:www\.)?newgrounds\.com/audio/listen/(?P<id>[0-9]+)' -    _TEST = { +    _VALID_URL = r'https?://(?:www\.)?newgrounds\.com/(?:audio/listen|portal/view)/(?P<id>[0-9]+)' +    _TESTS = [{          'url': 'http://www.newgrounds.com/audio/listen/549479',          'md5': 'fe6033d297591288fa1c1f780386f07a',          'info_dict': { @@ -17,7 +17,16 @@ class NewgroundsIE(InfoExtractor):              'title': 'B7 - BusMode',              'uploader': 'Burn7',          } -    } +    }, { +        'url': 'http://www.newgrounds.com/portal/view/673111', +        'md5': '3394735822aab2478c31b1004fe5e5bc', +        'info_dict': { +            'id': '673111', +            'ext': 'mp4', +            'title': 'Dancin', +            'uploader': 'Squirrelman82', +        }, +    }]      def _real_extract(self, url):          mobj = re.match(self._VALID_URL, url) @@ -25,9 +34,11 @@ class NewgroundsIE(InfoExtractor):          webpage = self._download_webpage(url, music_id)          title = self._html_search_regex( -            r',"name":"([^"]+)",', webpage, 'music title') +            r'<title>([^>]+)</title>', webpage, 'title') +          uploader = self._html_search_regex( -            r',"artist":"([^"]+)",', webpage, 'music uploader') +            [r',"artist":"([^"]+)",', r'[\'"]owner[\'"]\s*:\s*[\'"]([^\'"]+)[\'"],'], +            webpage, 'uploader')          music_url_json_string = self._html_search_regex(              r'({"url":"[^"]+"),', webpage, 'music url') + '}'  | 
