diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-12-06 13:36:36 +0100 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2013-12-06 13:36:36 +0100 | 
| commit | f53c966a73df42a9a949912ef8ab99a64fb99466 (patch) | |
| tree | cad9af28cebceabf24ef90085f31b0942e4773f5 | |
| parent | 336c3a69bd198130e2f65f14dfc83383fec7c5e2 (diff) | |
| download | hypervideo-pre-f53c966a73df42a9a949912ef8ab99a64fb99466.tar.lz hypervideo-pre-f53c966a73df42a9a949912ef8ab99a64fb99466.tar.xz hypervideo-pre-f53c966a73df42a9a949912ef8ab99a64fb99466.zip | |
[dailymotion] Extract view count (#1895)
| -rw-r--r-- | test/test_utils.py | 5 | ||||
| -rw-r--r-- | youtube_dl/extractor/dailymotion.py | 5 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 4 | 
3 files changed, 14 insertions, 0 deletions
| diff --git a/test/test_utils.py b/test/test_utils.py index e9e590e74..0fa66beec 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -26,6 +26,7 @@ from youtube_dl.utils import (      unsmuggle_url,      shell_quote,      encodeFilename, +    str_to_int,  )  if sys.version_info < (3, 0): @@ -176,6 +177,10 @@ class TestUtil(unittest.TestCase):          args = ['ffmpeg', '-i', encodeFilename(u'ñ€ß\'.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__':      unittest.main() diff --git a/youtube_dl/extractor/dailymotion.py b/youtube_dl/extractor/dailymotion.py index 71f5e03ee..3756cf765 100644 --- a/youtube_dl/extractor/dailymotion.py +++ b/youtube_dl/extractor/dailymotion.py @@ -11,6 +11,7 @@ from ..utils import (      get_element_by_attribute,      get_element_by_id,      orderedSet, +    str_to_int,      ExtractorError,  ) @@ -146,6 +147,9 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor):              self._list_available_subtitles(video_id, webpage)              return +        view_count = str_to_int(self._search_regex( +            r'video_views_value[^>]+>([\d\.]+)<', webpage, u'view count')) +          return {              'id':       video_id,              'formats': formats, @@ -155,6 +159,7 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor):              'subtitles':    video_subtitles,              'thumbnail': info['thumbnail_url'],              'age_limit': age_limit, +            'view_count': view_count,          }      def _get_available_subtitles(self, video_id, webpage): diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 77609f7ca..7b5878830 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -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]      converted = float(bytes) / float(1024 ** exponent)      return u'%.2f%s' % (converted, suffix) + +def str_to_int(int_str): +    int_str = re.sub(r'[,\.]', u'', int_str) +    return int(int_str) | 
