| 
									
										
										
										
											2013-09-11 14:50:38 -07:00
										 |  |  | import re | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from .common import InfoExtractor | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class KickStarterIE(InfoExtractor): | 
					
						
							| 
									
										
										
										
											2013-09-13 19:41:15 +02:00
										 |  |  |     _VALID_URL = r'https?://www\.kickstarter\.com/projects/(?P<id>\d*)/.*' | 
					
						
							| 
									
										
										
										
											2013-09-11 14:50:38 -07:00
										 |  |  |     _TEST = { | 
					
						
							| 
									
										
										
										
											2013-09-13 19:41:15 +02:00
										 |  |  |         u"url": u"https://www.kickstarter.com/projects/1404461844/intersection-the-story-of-josh-grant?ref=home_location", | 
					
						
							|  |  |  |         u"file": u"1404461844.mp4", | 
					
						
							|  |  |  |         u"md5": u"c81addca81327ffa66c642b5d8b08cab", | 
					
						
							|  |  |  |         u"info_dict": { | 
					
						
							|  |  |  |             u"title": u"Intersection: The Story of Josh Grant by Kyle Cowling", | 
					
						
							|  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2013-09-11 14:50:38 -07:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def _real_extract(self, url): | 
					
						
							|  |  |  |         m = re.match(self._VALID_URL, url) | 
					
						
							|  |  |  |         video_id = m.group('id') | 
					
						
							|  |  |  |         webpage_src = self._download_webpage(url, video_id) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         video_url = self._search_regex(r'data-video="(.*?)">', | 
					
						
							|  |  |  |             webpage_src, u'video URL') | 
					
						
							|  |  |  |         if 'mp4' in video_url: | 
					
						
							|  |  |  |             ext = 'mp4' | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             ext = 'flv' | 
					
						
							| 
									
										
										
										
											2013-09-13 19:41:15 +02:00
										 |  |  |         video_title = self._html_search_regex(r"<title>(.*?)</title>", | 
					
						
							|  |  |  |             webpage_src, u'title').rpartition(u'\u2014 Kickstarter')[0].strip() | 
					
						
							| 
									
										
										
										
											2013-09-11 14:50:38 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |         results = [{ | 
					
						
							|  |  |  |                     'id': video_id, | 
					
						
							| 
									
										
										
										
											2013-09-13 19:41:15 +02:00
										 |  |  |                     'url': video_url, | 
					
						
							|  |  |  |                     'title': video_title, | 
					
						
							|  |  |  |                     'ext': ext, | 
					
						
							| 
									
										
										
										
											2013-09-11 14:50:38 -07:00
										 |  |  |                     }] | 
					
						
							| 
									
										
										
										
											2013-09-13 19:41:15 +02:00
										 |  |  |         return results |