[soundgasm] add profile IE.
This commit is contained in:
		
							parent
							
								
									ddc369f073
								
							
						
					
					
						commit
						93b5071f73
					
				| @ -425,7 +425,10 @@ from .soundcloud import ( | |||||||
|     SoundcloudUserIE, |     SoundcloudUserIE, | ||||||
|     SoundcloudPlaylistIE |     SoundcloudPlaylistIE | ||||||
| ) | ) | ||||||
| from .soundgasm import SoundgasmIE | from .soundgasm import ( | ||||||
|  |     SoundgasmIE, | ||||||
|  |     SoundgasmProfileIE | ||||||
|  | ) | ||||||
| from .southpark import ( | from .southpark import ( | ||||||
|     SouthParkIE, |     SouthParkIE, | ||||||
|     SouthparkDeIE, |     SouthparkDeIE, | ||||||
|  | |||||||
| @ -4,6 +4,7 @@ from __future__ import unicode_literals | |||||||
| import re | import re | ||||||
| 
 | 
 | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
|  | from ..utils import clean_html | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class SoundgasmIE(InfoExtractor): | class SoundgasmIE(InfoExtractor): | ||||||
| @ -38,3 +39,38 @@ class SoundgasmIE(InfoExtractor): | |||||||
|             'title': audio_title, |             'title': audio_title, | ||||||
|             'description': description |             '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; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user