mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[XHamster] Support xhday.com alias, extract uploader_id
				
					
				
			* support xhday.com alias for xhamster.com (resolves #31023)
  Authored by: dirkf
* extract `uploader_id`:
  from 908b56eaf7
  (PR https://github.com/yt-dlp/yt-dlp/pull/844)
  Authored by: octotherp
			
			
This commit is contained in:
		| @@ -1,3 +1,4 @@ | |||||||
|  | # coding: utf-8 | ||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| import itertools | import itertools | ||||||
| @@ -23,7 +24,7 @@ from ..utils import ( | |||||||
|  |  | ||||||
|  |  | ||||||
| class XHamsterIE(InfoExtractor): | class XHamsterIE(InfoExtractor): | ||||||
|     _DOMAINS = r'(?:xhamster\.(?:com|one|desi)|xhms\.pro|xhamster\d+\.com)' |     _DOMAINS = r'(?:xhamster\.(?:com|one|desi)|xhms\.pro|xhamster\d+\.com|xhday\.com)' | ||||||
|     _VALID_URL = r'''(?x) |     _VALID_URL = r'''(?x) | ||||||
|                     https?:// |                     https?:// | ||||||
|                         (?:.+?\.)?%s/ |                         (?:.+?\.)?%s/ | ||||||
| @@ -34,7 +35,7 @@ class XHamsterIE(InfoExtractor): | |||||||
|                     ''' % _DOMAINS |                     ''' % _DOMAINS | ||||||
|     _TESTS = [{ |     _TESTS = [{ | ||||||
|         'url': 'https://xhamster.com/videos/femaleagent-shy-beauty-takes-the-bait-1509445', |         'url': 'https://xhamster.com/videos/femaleagent-shy-beauty-takes-the-bait-1509445', | ||||||
|         'md5': '98b4687efb1ffd331c4197854dc09e8f', |         'md5': '34e1ab926db5dc2750fed9e1f34304bb', | ||||||
|         'info_dict': { |         'info_dict': { | ||||||
|             'id': '1509445', |             'id': '1509445', | ||||||
|             'display_id': 'femaleagent-shy-beauty-takes-the-bait', |             'display_id': 'femaleagent-shy-beauty-takes-the-bait', | ||||||
| @@ -43,6 +44,7 @@ class XHamsterIE(InfoExtractor): | |||||||
|             'timestamp': 1350194821, |             'timestamp': 1350194821, | ||||||
|             'upload_date': '20121014', |             'upload_date': '20121014', | ||||||
|             'uploader': 'Ruseful2011', |             'uploader': 'Ruseful2011', | ||||||
|  |             'uploader_id': 'ruseful2011', | ||||||
|             'duration': 893, |             'duration': 893, | ||||||
|             'age_limit': 18, |             'age_limit': 18, | ||||||
|         }, |         }, | ||||||
| @@ -72,6 +74,7 @@ class XHamsterIE(InfoExtractor): | |||||||
|             'timestamp': 1454948101, |             'timestamp': 1454948101, | ||||||
|             'upload_date': '20160208', |             'upload_date': '20160208', | ||||||
|             'uploader': 'parejafree', |             'uploader': 'parejafree', | ||||||
|  |             'uploader_id': 'parejafree', | ||||||
|             'duration': 72, |             'duration': 72, | ||||||
|             'age_limit': 18, |             'age_limit': 18, | ||||||
|         }, |         }, | ||||||
| @@ -117,6 +120,9 @@ class XHamsterIE(InfoExtractor): | |||||||
|     }, { |     }, { | ||||||
|         'url': 'http://de.xhamster.com/videos/skinny-girl-fucks-herself-hard-in-the-forest-xhnBJZx', |         'url': 'http://de.xhamster.com/videos/skinny-girl-fucks-herself-hard-in-the-forest-xhnBJZx', | ||||||
|         'only_matching': True, |         'only_matching': True, | ||||||
|  |     }, { | ||||||
|  |         'url': 'https://xhday.com/videos/strapless-threesome-xhh7yVf', | ||||||
|  |         'only_matching': True, | ||||||
|     }] |     }] | ||||||
|  |  | ||||||
|     def _real_extract(self, url): |     def _real_extract(self, url): | ||||||
| @@ -245,6 +251,7 @@ class XHamsterIE(InfoExtractor): | |||||||
|             else: |             else: | ||||||
|                 categories = None |                 categories = None | ||||||
|  |  | ||||||
|  |             uploader_url = url_or_none(try_get(video, lambda x: x['author']['pageURL'])) | ||||||
|             return { |             return { | ||||||
|                 'id': video_id, |                 'id': video_id, | ||||||
|                 'display_id': display_id, |                 'display_id': display_id, | ||||||
| @@ -253,6 +260,8 @@ class XHamsterIE(InfoExtractor): | |||||||
|                 'timestamp': int_or_none(video.get('created')), |                 'timestamp': int_or_none(video.get('created')), | ||||||
|                 'uploader': try_get( |                 'uploader': try_get( | ||||||
|                     video, lambda x: x['author']['name'], compat_str), |                     video, lambda x: x['author']['name'], compat_str), | ||||||
|  |                 'uploader_url': uploader_url, | ||||||
|  |                 'uploader_id': uploader_url.split('/')[-1] if uploader_url else None, | ||||||
|                 'thumbnail': video.get('thumbURL'), |                 'thumbnail': video.get('thumbURL'), | ||||||
|                 'duration': int_or_none(video.get('duration')), |                 'duration': int_or_none(video.get('duration')), | ||||||
|                 'view_count': int_or_none(video.get('views')), |                 'view_count': int_or_none(video.get('views')), | ||||||
| @@ -261,7 +270,7 @@ class XHamsterIE(InfoExtractor): | |||||||
|                 'dislike_count': int_or_none(try_get( |                 'dislike_count': int_or_none(try_get( | ||||||
|                     video, lambda x: x['rating']['dislikes'], int)), |                     video, lambda x: x['rating']['dislikes'], int)), | ||||||
|                 'comment_count': int_or_none(video.get('views')), |                 'comment_count': int_or_none(video.get('views')), | ||||||
|                 'age_limit': age_limit, |                 'age_limit': age_limit if age_limit is not None else 18, | ||||||
|                 'categories': categories, |                 'categories': categories, | ||||||
|                 'formats': formats, |                 'formats': formats, | ||||||
|             } |             } | ||||||
| @@ -352,6 +361,7 @@ class XHamsterIE(InfoExtractor): | |||||||
|             'description': description, |             'description': description, | ||||||
|             'upload_date': upload_date, |             'upload_date': upload_date, | ||||||
|             'uploader': uploader, |             'uploader': uploader, | ||||||
|  |             'uploader_id': uploader.lower() if uploader else None, | ||||||
|             'thumbnail': thumbnail, |             'thumbnail': thumbnail, | ||||||
|             'duration': duration, |             'duration': duration, | ||||||
|             'view_count': view_count, |             'view_count': view_count, | ||||||
| @@ -420,6 +430,9 @@ class XHamsterUserIE(InfoExtractor): | |||||||
|             'id': 'firatkaan', |             'id': 'firatkaan', | ||||||
|         }, |         }, | ||||||
|         'playlist_mincount': 1, |         'playlist_mincount': 1, | ||||||
|  |     }, { | ||||||
|  |         'url': 'https://xhday.com/users/mobhunter', | ||||||
|  |         'only_matching': True, | ||||||
|     }] |     }] | ||||||
|  |  | ||||||
|     def _entries(self, user_id): |     def _entries(self, user_id): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user