This commit is contained in:
Simon Sawicki 2024-11-12 21:27:39 +01:00
parent 429c8cf520
commit 38b7cf5157
No known key found for this signature in database
3 changed files with 10 additions and 6 deletions

View file

@ -977,8 +977,9 @@ def restore_console_title(self):
def __enter__(self): def __enter__(self):
self.save_console_title() self.save_console_title()
if self.params.get('consoletitle'): if self.params.get('consoletitle'):
# Set progress bar to "indeterminate" # Set progress to "indeterminate"
self._send_console_code('\033]9;4;3\007') # See: https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC
self._send_console_code('\033]9;4;3;0\007')
return self return self
def save_cookies(self): def save_cookies(self):
@ -988,8 +989,9 @@ def save_cookies(self):
def __exit__(self, *args): def __exit__(self, *args):
self.restore_console_title() self.restore_console_title()
if self.params.get('consoletitle'): if self.params.get('consoletitle'):
# Set progress bar to "disabled" # Set progress to "disabled"
self._send_console_code('\033]9;4;0\007') # See: https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC
self._send_console_code('\033]9;4;0;0\007')
self.close() self.close()
def close(self): def close(self):

View file

@ -340,8 +340,9 @@ def _report_progress_status(self, s, default_template):
percent = s.get('_percent') percent = s.get('_percent')
if s['status'] not in ('downloading', 'error', 'finished') or percent is None: if s['status'] not in ('downloading', 'error', 'finished') or percent is None:
return return
# Emit ConEmu progress codes: https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC
if s['status'] == 'finished': if s['status'] == 'finished':
self.ydl._send_console_code('\033]9;4;3\007') self.ydl._send_console_code('\033]9;4;3;0\007')
return return
state = 1 if s['status'] == 'downloading' else 2 state = 1 if s['status'] == 'downloading' else 2
self.ydl._send_console_code(f'\033]9;4;{state};{int(percent)}\007') self.ydl._send_console_code(f'\033]9;4;{state};{int(percent)}\007')

View file

@ -195,8 +195,9 @@ def report_progress(self, s):
percent = s.get('_percent') percent = s.get('_percent')
if s['status'] not in ('downloading', 'error', 'finished') or percent is None: if s['status'] not in ('downloading', 'error', 'finished') or percent is None:
return return
# Emit ConEmu progress codes: https://conemu.github.io/en/AnsiEscapeCodes.html#ConEmu_specific_OSC
if s['status'] == 'finished': if s['status'] == 'finished':
self._downloader._send_console_code('\033]9;4;3\007') self._downloader._send_console_code('\033]9;4;3;0\007')
return return
state = 1 if s['status'] == 'downloading' else 2 state = 1 if s['status'] == 'downloading' else 2
self._downloader._send_console_code(f'\033]9;4;{state};{int(percent)}\007') self._downloader._send_console_code(f'\033]9;4;{state};{int(percent)}\007')