Skip to content

Commit a0b19d3

Browse files
authored
[core] Support NO_COLOR environment variable (#8385)
Authored by: prettykool, Grub4K
1 parent cc07f5c commit a0b19d3

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

yt_dlp/YoutubeDL.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -625,13 +625,16 @@ def __init__(self, params=None, auto_init=True):
625625
'Overwriting params from "color" with "no_color"')
626626
self.params['color'] = 'no_color'
627627

628-
term_allow_color = os.environ.get('TERM', '').lower() != 'dumb'
628+
term_allow_color = os.getenv('TERM', '').lower() != 'dumb'
629+
no_color = bool(os.getenv('NO_COLOR'))
629630

630631
def process_color_policy(stream):
631632
stream_name = {sys.stdout: 'stdout', sys.stderr: 'stderr'}[stream]
632633
policy = traverse_obj(self.params, ('color', (stream_name, None), {str}), get_all=False)
633634
if policy in ('auto', None):
634-
return term_allow_color and supports_terminal_sequences(stream)
635+
if term_allow_color and supports_terminal_sequences(stream):
636+
return 'no_color' if no_color else True
637+
return False
635638
assert policy in ('always', 'never', 'no_color'), policy
636639
return {'always': True, 'never': False}.get(policy, policy)
637640

0 commit comments

Comments
 (0)