From 943bbe3c3bb2f9348180f74f36ae002830242ea1 Mon Sep 17 00:00:00 2001 From: girst Date: Mon, 17 Aug 2020 17:22:20 +0200 Subject: [PATCH] handle absent streamingData.formats/adaptiveFormats e.g. on (announced) livestreams/premiere videos --- app/common/common.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/common/common.py b/app/common/common.py index 20c62d4..267a8da 100644 --- a/app/common/common.py +++ b/app/common/common.py @@ -235,13 +235,13 @@ def get_video_info(video_id, sts=0, algo=""): if not 'formats' in metadata['streamingData']: continue # no urls - formats = metadata['streamingData']['formats'] + formats = metadata['streamingData'].get('formats',[]) for (i,v) in enumerate(formats): if not ('cipher' in v or 'signatureCipher' in v): continue cipher = parse_qs(v.get('cipher') or v.get('signatureCipher')) formats[i]['url'] = unscramble(cipher, algo) - adaptive = metadata['streamingData']['adaptiveFormats'] + adaptive = metadata['streamingData'].get('adaptiveFormats',[]) for (i,v) in enumerate(adaptive): if not ('cipher' in v or 'signatureCipher' in v): continue cipher = parse_qs(v.get('cipher') or v.get('signatureCipher')) -- 2.39.3