From 772f15dc8a1857c32dea507a62cd54a9275ab126 Mon Sep 17 00:00:00 2001 From: Pawit Pornkitprasan Date: Sun, 15 Oct 2017 10:16:28 +0700 Subject: [PATCH] [niconico] handle theoretical case where owner is True-ish non-dict --- youtube_dl/extractor/niconico.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/niconico.py b/youtube_dl/extractor/niconico.py index d3de18320..707c6bef9 100644 --- a/youtube_dl/extractor/niconico.py +++ b/youtube_dl/extractor/niconico.py @@ -40,7 +40,7 @@ class NiconicoIE(InfoExtractor): 'uploader': 'takuya0301', 'uploader_id': '2698420', 'upload_date': '20131123', - 'timestamp': 1385215162, + 'timestamp': int, # timestamp is unstable 'description': '(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org', 'duration': 33, 'view_count': int, @@ -115,8 +115,8 @@ class NiconicoIE(InfoExtractor): 'skip': 'Requires an account', }, { # "New" HTML5 video + # md5 is unstable 'url': 'http://www.nicovideo.jp/watch/sm31464864', - 'md5': '8b1d60d94c570858f98bfa47cc742400', 'info_dict': { 'id': 'sm31464864', 'ext': 'mp4', @@ -416,7 +416,7 @@ class NiconicoIE(InfoExtractor): # Note: cannot use api_data.get('owner', {}) because owner may be set to "null" # in the JSON, which will cause None to be returned instead of {}. - owner = api_data.get('owner') or {} + owner = try_get(api_data, lambda x: x.get('owner'), dict) or {} uploader_id = get_video_info(['ch_id', 'user_id']) or owner.get('id') uploader = get_video_info(['ch_name', 'user_nickname']) or owner.get('nickname')