From 1836a55550e193fdfd61a9b27ee09d79bb5ad30a Mon Sep 17 00:00:00 2001 From: Maksym Pavlenko Date: Tue, 22 Aug 2017 09:34:00 -0700 Subject: [PATCH] Better audio sorting in ytdl --- ytdl/ytdl.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ytdl/ytdl.py b/ytdl/ytdl.py index c6b8d9d..9808221 100644 --- a/ytdl/ytdl.py +++ b/ytdl/ytdl.py @@ -94,7 +94,10 @@ def _choose_url(info, quality): # Sort list by field (width for videos, file size for audio) sort_field = 'width' if is_video else 'filesize' - ordered = sorted(fmt_list, key=lambda x: x[sort_field] or x['format_id'], reverse=True) + # Sometime 'filesize' field can be None + if not all(x[sort_field] is not None for x in fmt_list): + sort_field = 'format_id' + ordered = sorted(fmt_list, key=lambda x: x[sort_field], reverse=True) # Choose an item depending on quality, better at the beginning is_high_quality = quality == 'videohigh' or quality == 'audiohigh'