aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-03-13 15:30:25 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2014-03-13 15:30:25 +0100
commit9d2ecdbc712d4e500dd0207041392b143082ad00 (patch)
tree6dbd0bcf850d94ee622aeb53507f7ffbea55f0df
parent9b69af5342818bf78c44cf205dc036a84c128e8c (diff)
downloadyoutube-dl-9d2ecdbc712d4e500dd0207041392b143082ad00.tar.xz
[vevo] Centralize timestamp handling
-rw-r--r--youtube_dl/YoutubeDL.py6
-rw-r--r--youtube_dl/extractor/common.py2
-rw-r--r--youtube_dl/extractor/vevo.py8
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,