diff options
| -rw-r--r-- | youtube_dl/YoutubeDL.py | 6 | ||||
| -rw-r--r-- | youtube_dl/extractor/common.py | 2 | ||||
| -rw-r--r-- | youtube_dl/extractor/vevo.py | 8 | 
3 files changed, 12 insertions, 4 deletions
| diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 63ed08abf..d9f83419e 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -4,6 +4,7 @@  from __future__ import absolute_import, unicode_literals  import collections +import datetime  import errno  import io  import json @@ -688,6 +689,11 @@ class YoutubeDL(object):          if 'display_id' not in info_dict and 'id' in info_dict:              info_dict['display_id'] = info_dict['id'] +        if info_dict.get('upload_date') is None and info_dict.get('upload_timestamp') is not None: +            upload_date = datetime.datetime.utcfromtimestamp( +                info_dict['upload_timestamp']) +            info_dict['upload_date'] = upload_date.strftime('%Y%m%d') +          # This extractors handle format selection themselves          if info_dict['extractor'] in ['Youku']:              if download: diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index fed05ce02..103528414 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -97,7 +97,9 @@ class InfoExtractor(object):      thumbnail:      Full URL to a video thumbnail image.      description:    One-line video description.      uploader:       Full name of the video uploader. +    upload_timestamp:UNIX timestamp of the upload moment.      upload_date:    Video upload date (YYYYMMDD). +                    If not explicitly set, calculated from update_timestamp.      uploader_id:    Nickname or id of the video uploader.      location:       Physical location of the video.      subtitles:      The subtitle file contents as a dictionary in the format diff --git a/youtube_dl/extractor/vevo.py b/youtube_dl/extractor/vevo.py index 888eb7402..7c97b9b36 100644 --- a/youtube_dl/extractor/vevo.py +++ b/youtube_dl/extractor/vevo.py @@ -2,7 +2,6 @@ from __future__ import unicode_literals  import re  import xml.etree.ElementTree -import datetime  from .common import InfoExtractor  from ..utils import ( @@ -57,7 +56,8 @@ class VevoIE(InfoExtractor):              'age_limit': 18,              'title': 'Tunnel Vision (Explicit)',              'uploader': 'Justin Timberlake', -            'upload_date': '20130703', +            'upload_date': '20130704', +            'upload_timestamp': 1372906800,          },          'params': {              'skip_download': 'true', @@ -169,13 +169,13 @@ class VevoIE(InfoExtractor):          timestamp_ms = int(self._search_regex(              r'/Date\((\d+)\)/', video_info['launchDate'], 'launch date')) -        upload_date = datetime.datetime.utcfromtimestamp(timestamp_ms // 1000) +          return {              'id': video_id,              'title': video_info['title'],              'formats': formats,              'thumbnail': video_info['imageUrl'], -            'upload_date': upload_date.strftime('%Y%m%d'), +            'upload_timestamp': timestamp_ms // 1000,              'uploader': video_info['mainArtists'][0]['artistName'],              'duration': video_info['duration'],              'age_limit': age_limit, | 
