diff options
| author | Sergey M․ <dstftw@gmail.com> | 2017-02-01 00:58:02 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2017-02-01 00:58:02 +0700 | 
| commit | c15cd296404e164b72fd7f2666d5875f35057d93 (patch) | |
| tree | 3483f72b628e9b1692ecca71e5aec0b21188d09b | |
| parent | c38a67bcd5df639b9d7e7faa8685e76446803527 (diff) | |
[vimeo] Extract upload timestamp
| -rw-r--r-- | youtube_dl/extractor/vimeo.py | 24 | 
1 files changed, 18 insertions, 6 deletions
diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py index 32179e915..8ba222224 100644 --- a/youtube_dl/extractor/vimeo.py +++ b/youtube_dl/extractor/vimeo.py @@ -21,7 +21,9 @@ from ..utils import (      sanitized_Request,      smuggle_url,      std_headers, +    try_get,      unified_strdate, +    unified_timestamp,      unsmuggle_url,      urlencode_postdata,      unescapeHTML, @@ -213,6 +215,7 @@ class VimeoIE(VimeoBaseInfoExtractor):                  'ext': 'mp4',                  'title': "youtube-dl test video - \u2605 \" ' \u5e78 / \\ \u00e4 \u21ad \U0001d550",                  'description': 'md5:2d3305bad981a06ff79f027f19865021', +                'timestamp': 1355990239,                  'upload_date': '20121220',                  'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user7108434',                  'uploader_id': 'user7108434', @@ -259,6 +262,7 @@ class VimeoIE(VimeoBaseInfoExtractor):                  'id': '68375962',                  'ext': 'mp4',                  'title': 'youtube-dl password protected test video', +                'timestamp': 1371200155,                  'upload_date': '20130614',                  'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user18948128',                  'uploader_id': 'user18948128', @@ -281,7 +285,8 @@ class VimeoIE(VimeoBaseInfoExtractor):                  'uploader_url': r're:https?://(?:www\.)?vimeo\.com/atencio',                  'uploader_id': 'atencio',                  'uploader': 'Peter Atencio', -                'upload_date': '20130927', +                'timestamp': 1380339469, +                'upload_date': '20130928',                  'duration': 187,              },          }, @@ -293,6 +298,7 @@ class VimeoIE(VimeoBaseInfoExtractor):                  'ext': 'mp4',                  'title': 'The New Vimeo Player (You Know, For Videos)',                  'description': 'md5:2ec900bf97c3f389378a96aee11260ea', +                'timestamp': 1381846109,                  'upload_date': '20131015',                  'uploader_url': r're:https?://(?:www\.)?vimeo\.com/staff',                  'uploader_id': 'staff', @@ -324,6 +330,7 @@ class VimeoIE(VimeoBaseInfoExtractor):                  'uploader': 'The DMCI',                  'uploader_url': r're:https?://(?:www\.)?vimeo\.com/dmci',                  'uploader_id': 'dmci', +                'timestamp': 1324343742,                  'upload_date': '20111220',                  'description': 'md5:ae23671e82d05415868f7ad1aec21147',              }, @@ -339,6 +346,7 @@ class VimeoIE(VimeoBaseInfoExtractor):                  'uploader': 'Casey Donahue',                  'uploader_url': r're:https?://(?:www\.)?vimeo\.com/caseydonahue',                  'uploader_id': 'caseydonahue', +                'timestamp': 1250886430,                  'upload_date': '20090821',                  'description': 'md5:bdbf314014e58713e6e5b66eb252f4a6',              }, @@ -488,6 +496,7 @@ class VimeoIE(VimeoBaseInfoExtractor):                      expected=True)          cc_license = None +        timestamp = None          # Extract the config JSON          try: @@ -505,6 +514,9 @@ class VimeoIE(VimeoBaseInfoExtractor):                      page_config = self._parse_json(vimeo_clip_page_config, video_id)                      config_url = page_config['player']['config_url']                      cc_license = page_config.get('cc_license') +                    timestamp = try_get( +                        page_config, lambda x: x['clip']['uploaded_on'], +                        compat_str)                  config_json = self._download_webpage(config_url, video_id)                  config = json.loads(config_json)              except RegexNotFoundError: @@ -573,10 +585,10 @@ class VimeoIE(VimeoBaseInfoExtractor):              self._downloader.report_warning('Cannot find video description')          # Extract upload date -        video_upload_date = None -        mobj = re.search(r'<time[^>]+datetime="([^"]+)"', webpage) -        if mobj is not None: -            video_upload_date = unified_strdate(mobj.group(1)) +        if not timestamp: +            timestamp = self._search_regex( +                r'<time[^>]+datetime="([^"]+)"', webpage, +                'timestamp', default=None)          try:              view_count = int(self._search_regex(r'UserPlays:(\d+)', webpage, 'view count')) @@ -622,7 +634,7 @@ class VimeoIE(VimeoBaseInfoExtractor):          info_dict.update({              'id': video_id,              'formats': formats, -            'upload_date': video_upload_date, +            'timestamp': unified_timestamp(timestamp),              'description': video_description,              'webpage_url': url,              'view_count': view_count,  | 
