youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 9d2ecdbc712d4e500dd0207041392b143082ad00
parent 9b69af5342818bf78c44cf205dc036a84c128e8c
Author: Philipp Hagemeister <phihag@phihag.de>
Date:   Thu, 13 Mar 2014 15:30:25 +0100

[vevo] Centralize timestamp handling

Diffstat:
Myoutube_dl/YoutubeDL.py | 6++++++
Myoutube_dl/extractor/common.py | 2++
Myoutube_dl/extractor/vevo.py | 8++++----
3 files changed, 12 insertions(+), 4 deletions(-)

diff --git 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 @@ -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 @@ -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,