aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/common.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-07-08 21:03:13 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-07-08 21:22:35 +0530
commit4bb6b02f93e633dbba7bb722c167bf3b725cd7ce (patch)
tree83b9b4b43e190fca8ae792f29422568cfd87c8e0 /yt_dlp/extractor/common.py
parentb5ac45b1971b39c2dc7296601516c68e7747e228 (diff)
downloadhypervideo-pre-4bb6b02f93e633dbba7bb722c167bf3b725cd7ce.tar.lz
hypervideo-pre-4bb6b02f93e633dbba7bb722c167bf3b725cd7ce.tar.xz
hypervideo-pre-4bb6b02f93e633dbba7bb722c167bf3b725cd7ce.zip
Improve `extractor_args` parsing
Diffstat (limited to 'yt_dlp/extractor/common.py')
-rw-r--r--yt_dlp/extractor/common.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py
index 17d2e7158..07f413733 100644
--- a/yt_dlp/extractor/common.py
+++ b/yt_dlp/extractor/common.py
@@ -3498,9 +3498,18 @@ class InfoExtractor(object):
else 'public' if all_known
else None)
- def _configuration_arg(self, key):
- return traverse_obj(
+ def _configuration_arg(self, key, default=NO_DEFAULT, casesense=False):
+ '''
+ @returns A list of values for the extractor argument given by "key"
+ or "default" if no such key is present
+ @param default The default value to return when the key is not present (default: [])
+ @param casesense When false, the values are converted to lower case
+ '''
+ val = traverse_obj(
self._downloader.params, ('extractor_args', self.ie_key().lower(), key))
+ if val is None:
+ return [] if default is NO_DEFAULT else default
+ return list(val) if casesense else [x.lower() for x in val]
class SearchInfoExtractor(InfoExtractor):