aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/utils.py
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-10-09 00:41:59 +0530
committerGitHub <noreply@github.com>2021-10-09 00:41:59 +0530
commit819e05319baff2d896df026f1ef905e1f21be942 (patch)
treefb3ee4df64edf3729e3cab258d4c276588e41d42 /yt_dlp/utils.py
parentfee3f44f5f58274c637499f077aa0312e650f493 (diff)
downloadhypervideo-pre-819e05319baff2d896df026f1ef905e1f21be942.tar.lz
hypervideo-pre-819e05319baff2d896df026f1ef905e1f21be942.tar.xz
hypervideo-pre-819e05319baff2d896df026f1ef905e1f21be942.zip
Improved progress reporting (See desc) (#1125)
* Separate `--console-title` and `--no-progress` * Add option `--progress` to show progress-bar even in quiet mode * Fix and refactor `minicurses` * Use `minicurses` for all progress reporting * Standardize use of terminal sequences and enable color support for windows 10 * Add option `--progress-template` to customize progress-bar and console-title * Add postprocessor hooks and progress reporting Closes: #906, #901, #1085, #1170
Diffstat (limited to 'yt_dlp/utils.py')
-rw-r--r--yt_dlp/utils.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py
index 8b5b15103..027387897 100644
--- a/yt_dlp/utils.py
+++ b/yt_dlp/utils.py
@@ -6440,3 +6440,26 @@ def jwt_encode_hs256(payload_data, key, headers={}):
signature_b64 = base64.b64encode(h.digest())
token = header_b64 + b'.' + payload_b64 + b'.' + signature_b64
return token
+
+
+def supports_terminal_sequences(stream):
+ if compat_os_name == 'nt':
+ if get_windows_version() < (10, ):
+ return False
+ elif not os.getenv('TERM'):
+ return False
+ try:
+ return stream.isatty()
+ except BaseException:
+ return False
+
+
+TERMINAL_SEQUENCES = {
+ 'DOWN': '\n',
+ 'UP': '\x1b[A',
+ 'ERASE_LINE': '\x1b[K',
+ 'RED': '\033[0;31m',
+ 'YELLOW': '\033[0;33m',
+ 'BLUE': '\033[0;34m',
+ 'RESET_STYLE': '\033[0m',
+}