diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-02-23 21:30:46 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-02-23 21:30:46 +0600 |
commit | 716889cab1b1cb38aa29d12251bfcac1039983a1 (patch) | |
tree | ae9794274366fdcb9391ace0baf458a5e99406d5 /youtube_dl/extractor/soundgasm.py | |
parent | fcc3e6138b372e13578949dc724f456ae76dd065 (diff) | |
parent | 409693984f0acb8fbbf006c0d7965bc138211ac6 (diff) |
Merge branch 'skypher-chirbit'
Diffstat (limited to 'youtube_dl/extractor/soundgasm.py')
-rw-r--r-- | youtube_dl/extractor/soundgasm.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/youtube_dl/extractor/soundgasm.py b/youtube_dl/extractor/soundgasm.py index a4f8ce6c3..9e992c9b7 100644 --- a/youtube_dl/extractor/soundgasm.py +++ b/youtube_dl/extractor/soundgasm.py @@ -4,9 +4,11 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from ..utils import clean_html class SoundgasmIE(InfoExtractor): + IE_NAME = 'soundgasm' _VALID_URL = r'https?://(?:www\.)?soundgasm\.net/u/(?P<user>[0-9a-zA-Z_\-]+)/(?P<title>[0-9a-zA-Z_\-]+)' _TEST = { 'url': 'http://soundgasm.net/u/ytdl/Piano-sample', @@ -38,3 +40,25 @@ class SoundgasmIE(InfoExtractor): 'title': audio_title, 'description': description } + +class SoundgasmProfileIE(InfoExtractor): + IE_NAME = 'soundgasm:profile' + _VALID_URL = r'https?://(?:www\.)?soundgasm\.net/u/(?P<id>[^/]+)/?(?:\#.*)?$' + _TEST = { + 'url': 'http://soundgasm.net/u/ytdl', + 'info_dict': { + 'id': 'ytdl', + }, + 'playlist_count': 1, + } + + def _real_extract(self, url): + profile_id = self._match_id(url) + + webpage = self._download_webpage(url, profile_id) + + entries = [ + self.url_result(audio_url, 'Soundgasm') + for audio_url in re.findall(r'href="([^"]+/u/%s/[^"]+)' % profile_id, webpage)] + + return self.playlist_result(entries, profile_id) |