aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpk <prettykool@protonmail.com>2023-11-20 16:43:52 -0600
committerGitHub <noreply@github.com>2023-11-20 23:43:52 +0100
commita0b19d319a6ce8b7059318fa17a34b144fde1785 (patch)
tree5d40f2376dcaa89623a894951980ca00de7a2130
parentcc07f5cc85d9e2a6cd0bedb9d961665eea0d6047 (diff)
[core] Support `NO_COLOR` environment variable (#8385)
Authored by: prettykool, Grub4K
-rw-r--r--yt_dlp/YoutubeDL.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py
index 85b282bd5..32ae25aa0 100644
--- a/yt_dlp/YoutubeDL.py
+++ b/yt_dlp/YoutubeDL.py
@@ -625,13 +625,16 @@ class YoutubeDL:
'Overwriting params from "color" with "no_color"')
self.params['color'] = 'no_color'
- term_allow_color = os.environ.get('TERM', '').lower() != 'dumb'
+ term_allow_color = os.getenv('TERM', '').lower() != 'dumb'
+ no_color = bool(os.getenv('NO_COLOR'))
def process_color_policy(stream):
stream_name = {sys.stdout: 'stdout', sys.stderr: 'stderr'}[stream]
policy = traverse_obj(self.params, ('color', (stream_name, None), {str}), get_all=False)
if policy in ('auto', None):
- return term_allow_color and supports_terminal_sequences(stream)
+ if term_allow_color and supports_terminal_sequences(stream):
+ return 'no_color' if no_color else True
+ return False
assert policy in ('always', 'never', 'no_color'), policy
return {'always': True, 'never': False}.get(policy, policy)