| 
									
										
										
										
											2014-12-18 22:28:13 -06:00
										 |  |  | # coding: utf-8 | 
					
						
							|  |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import datetime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from .common import InfoExtractor | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NerdCubedFeedIE(InfoExtractor): | 
					
						
							|  |  |  |     _VALID_URL = r'https?://(?:www\.)?nerdcubed\.co\.uk/feed\.json' | 
					
						
							|  |  |  |     _TEST = { | 
					
						
							|  |  |  |         'url': 'http://www.nerdcubed.co.uk/feed.json', | 
					
						
							|  |  |  |         'info_dict': { | 
					
						
							| 
									
										
										
										
											2015-02-01 12:11:20 +01:00
										 |  |  |             'id': 'nerdcubed-feed', | 
					
						
							| 
									
										
										
										
											2014-12-18 22:28:13 -06:00
										 |  |  |             'title': 'nerdcubed.co.uk feed', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         'playlist_mincount': 1300, | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def _real_extract(self, url): | 
					
						
							| 
									
										
										
										
											2016-02-14 15:37:17 +06:00
										 |  |  |         feed = self._download_json(url, url, 'Downloading NerdCubed JSON feed') | 
					
						
							| 
									
										
										
										
											2014-12-21 15:22:30 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-18 22:28:13 -06:00
										 |  |  |         entries = [{ | 
					
						
							|  |  |  |             '_type': 'url', | 
					
						
							|  |  |  |             'title': feed_entry['title'], | 
					
						
							|  |  |  |             'uploader': feed_entry['source']['name'] if feed_entry['source'] else None, | 
					
						
							|  |  |  |             'upload_date': datetime.datetime.strptime(feed_entry['date'], '%Y-%m-%d').strftime('%Y%m%d'), | 
					
						
							| 
									
										
										
										
											2016-02-14 15:37:17 +06:00
										 |  |  |             'url': 'http://www.youtube.com/watch?v=' + feed_entry['youtube_id'], | 
					
						
							| 
									
										
										
										
											2014-12-18 22:28:13 -06:00
										 |  |  |         } for feed_entry in feed] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return { | 
					
						
							|  |  |  |             '_type': 'playlist', | 
					
						
							|  |  |  |             'title': 'nerdcubed.co.uk feed', | 
					
						
							|  |  |  |             'id': 'nerdcubed-feed', | 
					
						
							|  |  |  |             'entries': entries, | 
					
						
							|  |  |  |         } |