aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSiddhartha Sahu <github12@sdht.in>2023-02-16 14:55:01 -0500
committerGitHub <noreply@github.com>2023-02-17 01:25:01 +0530
commit376aa24b1541e2bfb23337c0ae9bafa5bb3787f1 (patch)
tree79b1e313e35fe12cb4b03c717542d4444742d27f
parentc9d14bd22ab31e2a41f9f8061843668a06db583b (diff)
downloadhypervideo-pre-376aa24b1541e2bfb23337c0ae9bafa5bb3787f1.tar.lz
hypervideo-pre-376aa24b1541e2bfb23337c0ae9bafa5bb3787f1.tar.xz
hypervideo-pre-376aa24b1541e2bfb23337c0ae9bafa5bb3787f1.zip
Improve default subtitle language selection (#6240)
Authored by: sdht0
-rw-r--r--yt_dlp/YoutubeDL.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py
index 33b4fb3ca..4e5c40b58 100644
--- a/yt_dlp/YoutubeDL.py
+++ b/yt_dlp/YoutubeDL.py
@@ -2810,10 +2810,14 @@ class YoutubeDL:
self.params.get('subtitleslangs'), {'all': all_sub_langs}, use_regex=True)
except re.error as e:
raise ValueError(f'Wrong regex for subtitlelangs: {e.pattern}')
- elif normal_sub_langs:
- requested_langs = ['en'] if 'en' in normal_sub_langs else normal_sub_langs[:1]
else:
- requested_langs = ['en'] if 'en' in all_sub_langs else all_sub_langs[:1]
+ requested_langs = LazyList(itertools.chain(
+ ['en'] if 'en' in normal_sub_langs else [],
+ filter(lambda f: f.startswith('en'), normal_sub_langs),
+ ['en'] if 'en' in all_sub_langs else [],
+ filter(lambda f: f.startswith('en'), all_sub_langs),
+ normal_sub_langs, all_sub_langs,
+ ))[:1]
if requested_langs:
self.to_screen(f'[info] {video_id}: Downloading subtitles: {", ".join(requested_langs)}')