forked from minhngoc25a/youtube-dl
[dailymotion] Extract view count (#1895)
This commit is contained in:
parent
336c3a69bd
commit
f53c966a73
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue