From 6ae20bb1f5edb99dc7739d3182713968380cd9c2 Mon Sep 17 00:00:00 2001 From: Astound Date: Mon, 22 Jan 2024 06:33:34 +0800 Subject: Add option to always use integrated sources Make the prefer_integrated_sources setting an int with 0,1,2 instead of a bool, where 2 makes it always use integrated sources unless none are available. --- youtube/watch.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'youtube') diff --git a/youtube/watch.py b/youtube/watch.py index 0d03250..ceb66ea 100644 --- a/youtube/watch.py +++ b/youtube/watch.py @@ -705,9 +705,17 @@ def get_watch_page(video_id=None): else: closer_to_target = 'pair' - using_pair_sources = ( - bool(pair_sources) and (not uni_sources or closer_to_target == 'pair') - ) + if settings.prefer_uni_sources == 2: + # Use uni sources unless there's no choice. + using_pair_sources = ( + bool(pair_sources) and (not uni_sources) + ) + else: + # Use the pair sources if they're closer to the desired resolution + using_pair_sources = ( + bool(pair_sources) + and (not uni_sources or closer_to_target == 'pair') + ) if using_pair_sources: video_height = pair_sources[pair_idx]['height'] video_width = pair_sources[pair_idx]['width'] -- cgit v1.2.3