From 6b3a3098b53519ba8052ad0572e1d559947cfdd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sat, 9 Jul 2016 03:27:11 +0700 Subject: [PATCH] [extractor/common] Extract more metadata for VideoObject in _json_ld --- youtube_dl/extractor/common.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 0cb5e5bb0..9ffe64d05 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -44,6 +44,7 @@ sanitized_Request, unescapeHTML, unified_strdate, + unified_timestamp, url_basename, xpath_element, xpath_text, @@ -840,10 +841,16 @@ def _json_ld(self, json_ld, video_id, fatal=True): }) elif item_type == 'VideoObject': info.update({ + 'url': json_ld.get('contentUrl'), 'title': unescapeHTML(json_ld.get('name')), 'description': unescapeHTML(json_ld.get('description')), - 'upload_date': unified_strdate(json_ld.get('upload_date')), - 'url': unescapeHTML(json_ld.get('contentUrl')), + 'thumbnail': json_ld.get('thumbnailUrl'), + 'duration': parse_duration(json_ld.get('duration')), + 'timestamp': unified_timestamp(json_ld.get('uploadDate')), + 'filesize': float_or_none(json_ld.get('contentSize')), + 'tbr': int_or_none(json_ld.get('bitrate')), + 'width': int_or_none(json_ld.get('width')), + 'height': int_or_none(json_ld.get('height')), }) return dict((k, v) for k, v in info.items() if v is not None)