diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py index c6edaebe48..1a51d68808 100644 --- a/yt_dlp/cookies.py +++ b/yt_dlp/cookies.py @@ -7,6 +7,7 @@ import subprocess import sys import tempfile +import time from datetime import datetime, timedelta, timezone from enum import Enum, auto from hashlib import pbkdf2_hmac @@ -49,6 +50,14 @@ def error(self, message): if self._ydl: self._ydl.report_error(message) + class ProgressBar(MultilinePrinter): + _DELAY, _timer = 0.1, 0 + + def print(self, message): + if time.time() - self._timer > self._DELAY: + self.print_at_line(f'[Cookies] {message}', 0) + self._timer = time.time() + def progress_bar(self): """Return a context manager with a print method. (Optional)""" # Do not print to files/pipes, loggers, or when --no-progress is used @@ -60,10 +69,7 @@ def progress_bar(self): return except BaseException: return - - printer = MultilinePrinter(file, preserve_output=False) - printer.print = lambda message: printer.print_at_line(f'[Cookies] {message}', 0) - return printer + return self.ProgressBar(file, preserve_output=False) def _create_progress_bar(logger):