mirror of https://github.com/yt-dlp/yt-dlp.git
[core] Support `NO_COLOR` environment variable (#8385)
Authored by: prettykool, Grub4K
This commit is contained in:
parent
cc07f5cc85
commit
a0b19d319a
|
@ -625,13 +625,16 @@ class YoutubeDL:
|
||||||
'Overwriting params from "color" with "no_color"')
|
'Overwriting params from "color" with "no_color"')
|
||||||
self.params['color'] = '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):
|
def process_color_policy(stream):
|
||||||
stream_name = {sys.stdout: 'stdout', sys.stderr: 'stderr'}[stream]
|
stream_name = {sys.stdout: 'stdout', sys.stderr: 'stderr'}[stream]
|
||||||
policy = traverse_obj(self.params, ('color', (stream_name, None), {str}), get_all=False)
|
policy = traverse_obj(self.params, ('color', (stream_name, None), {str}), get_all=False)
|
||||||
if policy in ('auto', None):
|
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
|
assert policy in ('always', 'never', 'no_color'), policy
|
||||||
return {'always': True, 'never': False}.get(policy, policy)
|
return {'always': True, 'never': False}.get(policy, policy)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue