| 
									
										
										
										
											2014-03-09 19:36:46 +01:00
										 |  |  | from __future__ import unicode_literals | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-06-23 20:12:18 +02:00
										 |  |  | import json | 
					
						
							|  |  |  | import re | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from .common import InfoExtractor | 
					
						
							| 
									
										
										
										
											2014-05-16 20:43:36 +02:00
										 |  |  | from ..utils import compat_urllib_parse | 
					
						
							| 
									
										
										
										
											2013-06-23 20:12:18 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class PhotobucketIE(InfoExtractor): | 
					
						
							| 
									
										
										
										
											2014-03-09 19:36:46 +01:00
										 |  |  |     _VALID_URL = r'http://(?:[a-z0-9]+\.)?photobucket\.com/.*(([\?\&]current=)|_)(?P<id>.*)\.(?P<ext>(flv)|(mp4))' | 
					
						
							| 
									
										
										
										
											2013-06-27 20:46:46 +02:00
										 |  |  |     _TEST = { | 
					
						
							| 
									
										
										
										
											2014-03-09 20:24:19 +01:00
										 |  |  |         'url': 'http://media.photobucket.com/user/rachaneronas/media/TiredofLinkBuildingTryBacklinkMyDomaincom_zpsc0c3b9fa.mp4.html?filters[term]=search&filters[primary]=videos&filters[secondary]=images&sort=1&o=0', | 
					
						
							|  |  |  |         'file': 'zpsc0c3b9fa.mp4', | 
					
						
							|  |  |  |         'md5': '7dabfb92b0a31f6c16cebc0f8e60ff99', | 
					
						
							|  |  |  |         'info_dict': { | 
					
						
							| 
									
										
										
										
											2014-05-17 01:43:03 +10:00
										 |  |  |             'timestamp': 1367669341, | 
					
						
							| 
									
										
										
										
											2014-03-09 19:36:46 +01:00
										 |  |  |             'upload_date': '20130504', | 
					
						
							|  |  |  |             'uploader': 'rachaneronas', | 
					
						
							|  |  |  |             'title': 'Tired of Link Building? Try BacklinkMyDomain.com!', | 
					
						
							| 
									
										
										
										
											2013-06-27 20:46:46 +02:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2013-06-23 20:12:18 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def _real_extract(self, url): | 
					
						
							|  |  |  |         mobj = re.match(self._VALID_URL, url) | 
					
						
							|  |  |  |         video_id = mobj.group('id') | 
					
						
							|  |  |  |         video_extension = mobj.group('ext') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         webpage = self._download_webpage(url, video_id) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         # Extract URL, uploader, and title from webpage | 
					
						
							|  |  |  |         self.report_extraction(video_id) | 
					
						
							| 
									
										
										
										
											2014-03-09 19:36:46 +01:00
										 |  |  |         info_json = self._search_regex(r'Pb\.Data\.Shared\.put\(Pb\.Data\.Shared\.MEDIA, (.*?)\);', | 
					
						
							|  |  |  |             webpage, 'info json') | 
					
						
							|  |  |  |         info = json.loads(info_json) | 
					
						
							| 
									
										
										
										
											2014-05-16 20:43:36 +02:00
										 |  |  |         url = compat_urllib_parse.unquote(self._html_search_regex(r'file=(.+\.mp4)', info['linkcodes']['html'], 'url')) | 
					
						
							| 
									
										
										
										
											2014-03-09 19:36:46 +01:00
										 |  |  |         return { | 
					
						
							|  |  |  |             'id': video_id, | 
					
						
							| 
									
										
										
										
											2014-05-17 01:43:03 +10:00
										 |  |  |             'url': url, | 
					
						
							| 
									
										
										
										
											2014-03-09 20:24:19 +01:00
										 |  |  |             'uploader': info['username'], | 
					
						
							| 
									
										
										
										
											2014-05-17 01:43:03 +10:00
										 |  |  |             'timestamp': info['creationDate'], | 
					
						
							| 
									
										
										
										
											2014-03-09 20:24:19 +01:00
										 |  |  |             'title': info['title'], | 
					
						
							| 
									
										
										
										
											2014-03-09 19:36:46 +01:00
										 |  |  |             'ext': video_extension, | 
					
						
							| 
									
										
										
										
											2014-03-09 20:24:19 +01:00
										 |  |  |             'thumbnail': info['thumbUrl'], | 
					
						
							| 
									
										
										
										
											2014-03-09 19:36:46 +01:00
										 |  |  |         } |