mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[dailymotion] Extract view count (#1895)
This commit is contained in:
		| @@ -26,6 +26,7 @@ from youtube_dl.utils import ( | |||||||
|     unsmuggle_url, |     unsmuggle_url, | ||||||
|     shell_quote, |     shell_quote, | ||||||
|     encodeFilename, |     encodeFilename, | ||||||
|  |     str_to_int, | ||||||
| ) | ) | ||||||
|  |  | ||||||
| if sys.version_info < (3, 0): | if sys.version_info < (3, 0): | ||||||
| @@ -176,6 +177,10 @@ class TestUtil(unittest.TestCase): | |||||||
|         args = ['ffmpeg', '-i', encodeFilename(u'ñ€ß\'.mp4')] |         args = ['ffmpeg', '-i', encodeFilename(u'ñ€ß\'.mp4')] | ||||||
|         self.assertEqual(shell_quote(args), u"""ffmpeg -i 'ñ€ß'"'"'.mp4'""") |         self.assertEqual(shell_quote(args), u"""ffmpeg -i 'ñ€ß'"'"'.mp4'""") | ||||||
|  |  | ||||||
|  |     def test_str_to_int(self): | ||||||
|  |         self.assertEqual(str_to_int('123,456'), 123456) | ||||||
|  |         self.assertEqual(str_to_int('123.456'), 123456) | ||||||
|  |  | ||||||
|  |  | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|     unittest.main() |     unittest.main() | ||||||
|   | |||||||
| @@ -11,6 +11,7 @@ from ..utils import ( | |||||||
|     get_element_by_attribute, |     get_element_by_attribute, | ||||||
|     get_element_by_id, |     get_element_by_id, | ||||||
|     orderedSet, |     orderedSet, | ||||||
|  |     str_to_int, | ||||||
|  |  | ||||||
|     ExtractorError, |     ExtractorError, | ||||||
| ) | ) | ||||||
| @@ -146,6 +147,9 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor): | |||||||
|             self._list_available_subtitles(video_id, webpage) |             self._list_available_subtitles(video_id, webpage) | ||||||
|             return |             return | ||||||
|  |  | ||||||
|  |         view_count = str_to_int(self._search_regex( | ||||||
|  |             r'video_views_value[^>]+>([\d\.]+)<', webpage, u'view count')) | ||||||
|  |  | ||||||
|         return { |         return { | ||||||
|             'id':       video_id, |             'id':       video_id, | ||||||
|             'formats': formats, |             'formats': formats, | ||||||
| @@ -155,6 +159,7 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor): | |||||||
|             'subtitles':    video_subtitles, |             'subtitles':    video_subtitles, | ||||||
|             'thumbnail': info['thumbnail_url'], |             'thumbnail': info['thumbnail_url'], | ||||||
|             'age_limit': age_limit, |             'age_limit': age_limit, | ||||||
|  |             'view_count': view_count, | ||||||
|         } |         } | ||||||
|  |  | ||||||
|     def _get_available_subtitles(self, video_id, webpage): |     def _get_available_subtitles(self, video_id, webpage): | ||||||
|   | |||||||
| @@ -1020,3 +1020,7 @@ def format_bytes(bytes): | |||||||
|     suffix = [u'B', u'KiB', u'MiB', u'GiB', u'TiB', u'PiB', u'EiB', u'ZiB', u'YiB'][exponent] |     suffix = [u'B', u'KiB', u'MiB', u'GiB', u'TiB', u'PiB', u'EiB', u'ZiB', u'YiB'][exponent] | ||||||
|     converted = float(bytes) / float(1024 ** exponent) |     converted = float(bytes) / float(1024 ** exponent) | ||||||
|     return u'%.2f%s' % (converted, suffix) |     return u'%.2f%s' % (converted, suffix) | ||||||
|  |  | ||||||
|  | def str_to_int(int_str): | ||||||
|  |     int_str = re.sub(r'[,\.]', u'', int_str) | ||||||
|  |     return int(int_str) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz