[dailymotion] Extract view count (#1895)

pull/2/head
Jaime Marquínez Ferrándiz 11 years ago
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…
Cancel
Save