|  | @@ -15,8 +15,9 @@ from ..aes import aes_decrypt_text
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  class YouPornIE(InfoExtractor):
 | 
	
		
			
				|  |  |      _VALID_URL = r'https?://(?:www\.)?youporn\.com/watch/(?P<id>\d+)/(?P<display_id>[^/?#&]+)'
 | 
	
		
			
				|  |  | -    _TEST = {
 | 
	
		
			
				|  |  | +    _TESTS = [{
 | 
	
		
			
				|  |  |          'url': 'http://www.youporn.com/watch/505835/sex-ed-is-it-safe-to-masturbate-daily/',
 | 
	
		
			
				|  |  | +        'md5': '71ec5fcfddacf80f495efa8b6a8d9a89',
 | 
	
		
			
				|  |  |          'info_dict': {
 | 
	
		
			
				|  |  |              'id': '505835',
 | 
	
		
			
				|  |  |              'display_id': 'sex-ed-is-it-safe-to-masturbate-daily',
 | 
	
	
		
			
				|  | @@ -31,8 +32,29 @@ class YouPornIE(InfoExtractor):
 | 
	
		
			
				|  |  |              'categories': list,
 | 
	
		
			
				|  |  |              'tags': list,
 | 
	
		
			
				|  |  |              'age_limit': 18,
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +    }, {
 | 
	
		
			
				|  |  | +        # Anonymous User uploader
 | 
	
		
			
				|  |  | +        'url': 'http://www.youporn.com/watch/561726/big-tits-awesome-brunette-on-amazing-webcam-show/?from=related3&al=2&from_id=561726&pos=4',
 | 
	
		
			
				|  |  | +        'info_dict': {
 | 
	
		
			
				|  |  | +            'id': '561726',
 | 
	
		
			
				|  |  | +            'display_id': 'big-tits-awesome-brunette-on-amazing-webcam-show',
 | 
	
		
			
				|  |  | +            'ext': 'mp4',
 | 
	
		
			
				|  |  | +            'title': 'Big Tits Awesome Brunette On amazing webcam show',
 | 
	
		
			
				|  |  | +            'description': 'http://sweetlivegirls.com Big Tits Awesome Brunette On amazing webcam show.mp4',
 | 
	
		
			
				|  |  | +            'thumbnail': 're:^https?://.*\.jpg$',
 | 
	
		
			
				|  |  | +            'uploader': 'Anonymous User',
 | 
	
		
			
				|  |  | +            'upload_date': '20111125',
 | 
	
		
			
				|  |  | +            'average_rating': int,
 | 
	
		
			
				|  |  | +            'view_count': int,
 | 
	
		
			
				|  |  | +            'categories': list,
 | 
	
		
			
				|  |  | +            'tags': list,
 | 
	
		
			
				|  |  | +            'age_limit': 18,
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        'params': {
 | 
	
		
			
				|  |  | +            'skip_download': True,
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +    }]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def _real_extract(self, url):
 | 
	
		
			
				|  |  |          mobj = re.match(self._VALID_URL, url)
 | 
	
	
		
			
				|  | @@ -97,8 +119,8 @@ class YouPornIE(InfoExtractor):
 | 
	
		
			
				|  |  |              r'(?:imageurl\s*=|poster\s*:)\s*(["\'])(?P<thumbnail>.+?)\1',
 | 
	
		
			
				|  |  |              webpage, 'thumbnail', fatal=False, group='thumbnail')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        uploader = self._search_regex(
 | 
	
		
			
				|  |  | -            r'<div[^>]+class=["\']videoInfoBy["\'][^>]*>\s*By:\s*</div>\s*<a[^>]+href="[^"]*">([^<]+)</a>',
 | 
	
		
			
				|  |  | +        uploader = self._html_search_regex(
 | 
	
		
			
				|  |  | +            r'(?s)<div[^>]+class=["\']videoInfoBy["\'][^>]*>\s*By:\s*</div>(.+?)</(?:a|div)>',
 | 
	
		
			
				|  |  |              webpage, 'uploader', fatal=False)
 | 
	
		
			
				|  |  |          upload_date = unified_strdate(self._html_search_regex(
 | 
	
		
			
				|  |  |              r'(?s)<div[^>]+class=["\']videoInfoTime["\'][^>]*>(.+?)</div>',
 |