[soundgasm] add profile IE.
This commit is contained in:
		| @@ -425,7 +425,10 @@ from .soundcloud import ( | ||||
|     SoundcloudUserIE, | ||||
|     SoundcloudPlaylistIE | ||||
| ) | ||||
| from .soundgasm import SoundgasmIE | ||||
| from .soundgasm import ( | ||||
|     SoundgasmIE, | ||||
|     SoundgasmProfileIE | ||||
| ) | ||||
| from .southpark import ( | ||||
|     SouthParkIE, | ||||
|     SouthparkDeIE, | ||||
|   | ||||
| @@ -4,6 +4,7 @@ from __future__ import unicode_literals | ||||
| import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from ..utils import clean_html | ||||
|  | ||||
|  | ||||
| class SoundgasmIE(InfoExtractor): | ||||
| @@ -38,3 +39,38 @@ class SoundgasmIE(InfoExtractor): | ||||
|             'title': audio_title, | ||||
|             'description': description | ||||
|         } | ||||
|  | ||||
| class SoundgasmProfileIE(InfoExtractor): | ||||
|     _VALID_URL = r'https?://(?:www\.)?soundgasm\.net/u/(?P<id>[0-9a-zA-Z_\-]+)/?$' | ||||
|     _TEST = { | ||||
|         'url': 'http://soundgasm.net/u/ytdl', | ||||
|         'playlist_count': 1, | ||||
|         'info_dict': { | ||||
|             '_type': 'playlist', | ||||
|             'id': 'ytdl', | ||||
|             'title': 'ytdl' | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         profile_id = self._match_id(url) | ||||
|         webpage = self._download_webpage(url, profile_id) | ||||
|  | ||||
|         ids = re.findall(r'''<a\s+href=".+?/u/%s/([^/]+)">''' % re.escape(profile_id), webpage) | ||||
|         ids = [clean_html(id) for id in ids] | ||||
|  | ||||
|         entries = [] | ||||
|         for id in ids: | ||||
|             entries.append({ | ||||
|                 '_type': 'url', | ||||
|                 'url': ('http://soundgasm.net/u/%s/%s' % (profile_id, id)) | ||||
|             }) | ||||
|  | ||||
|         info_dict = { | ||||
|             '_type': 'playlist', | ||||
|             'id': profile_id, | ||||
|             'title': profile_id, | ||||
|             'entries': entries | ||||
|         } | ||||
|  | ||||
|         return info_dict; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Leslie P. Polzer
					Leslie P. Polzer