| 
									
										
										
										
											2013-06-26 15:25:53 +05:00
										 |  |  | import re | 
					
						
							|  |  |  | import base64 | 
					
						
							| 
									
										
										
										
											2013-06-26 18:22:26 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-26 15:25:53 +05:00
										 |  |  | from .common import InfoExtractor | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WimpIE(InfoExtractor): | 
					
						
							|  |  |  |     _VALID_URL = r'(?:http://)?(?:www\.)?wimp\.com/([^/]+)/' | 
					
						
							| 
									
										
										
										
											2013-06-27 20:46:46 +02:00
										 |  |  |     _TEST = { | 
					
						
							|  |  |  |         u'url': u'http://www.wimp.com/deerfence/', | 
					
						
							|  |  |  |         u'file': u'deerfence.flv', | 
					
						
							|  |  |  |         u'md5': u'8b215e2e0168c6081a1cf84b2846a2b5', | 
					
						
							|  |  |  |         u'info_dict': { | 
					
						
							|  |  |  |             u"title": u"Watch Till End: Herd of deer jump over a fence." | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2013-06-26 15:25:53 +05:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def _real_extract(self, url): | 
					
						
							|  |  |  |         mobj = re.match(self._VALID_URL, url) | 
					
						
							|  |  |  |         video_id = mobj.group(1) | 
					
						
							|  |  |  |         webpage = self._download_webpage(url, video_id) | 
					
						
							| 
									
										
										
										
											2013-06-26 18:22:26 +02:00
										 |  |  |         title = self._search_regex(r'<meta name="description" content="(.+?)" />',webpage, 'video title') | 
					
						
							|  |  |  |         thumbnail_url = self._search_regex(r'<meta property="og\:image" content="(.+?)" />', webpage,'video thumbnail') | 
					
						
							|  |  |  |         googleString = self._search_regex("googleCode = '(.*?)'", webpage, 'file url') | 
					
						
							| 
									
										
										
										
											2013-06-26 19:41:55 +05:00
										 |  |  |         googleString = base64.b64decode(googleString).decode('ascii') | 
					
						
							|  |  |  |         final_url = self._search_regex('","(.*?)"', googleString,'final video url') | 
					
						
							| 
									
										
										
										
											2013-06-26 18:22:26 +02:00
										 |  |  |         ext = final_url.rpartition(u'.')[2] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-26 15:25:53 +05:00
										 |  |  |         return [{ | 
					
						
							|  |  |  |             'id':        video_id, | 
					
						
							|  |  |  |             'url':       final_url, | 
					
						
							|  |  |  |             'ext':       ext, | 
					
						
							|  |  |  |             'title':     title, | 
					
						
							|  |  |  |             'thumbnail': thumbnail_url, | 
					
						
							|  |  |  |         }] | 
					
						
							| 
									
										
										
										
											2013-06-26 17:26:59 +05:00
										 |  |  | 
 |