[utils] Add temporary shim for logging

Related: #5680, #7517
This commit is contained in:
pukkandan 2023-07-15 11:41:08 +05:30
parent 1ba6fe9db5
commit 1b392f905d
No known key found for this signature in database
GPG key ID: 7EEE9E1E817D0A39
3 changed files with 35 additions and 30 deletions

View file

@ -16,6 +16,7 @@
from yt_dlp import YoutubeDL
from yt_dlp.downloader.http import HttpFD
from yt_dlp.utils import encodeFilename
from yt_dlp.utils._utils import _YDLLogger as FakeLogger
TEST_DIR = os.path.dirname(os.path.abspath(__file__))
@ -67,17 +68,6 @@ def do_GET(self):
assert False
class FakeLogger:
def debug(self, msg):
pass
def warning(self, msg):
pass
def error(self, msg):
pass
class TestHttpFD(unittest.TestCase):
def setUp(self):
self.httpd = http.server.HTTPServer(

View file

@ -41,30 +41,15 @@
try_call,
write_string,
)
from .utils._utils import _YDLLogger
CHROMIUM_BASED_BROWSERS = {'brave', 'chrome', 'chromium', 'edge', 'opera', 'vivaldi'}
SUPPORTED_BROWSERS = CHROMIUM_BASED_BROWSERS | {'firefox', 'safari'}
class YDLLogger:
def __init__(self, ydl=None):
self._ydl = ydl
def debug(self, message):
if self._ydl:
self._ydl.write_debug(message)
def info(self, message):
if self._ydl:
self._ydl.to_screen(f'[Cookies] {message}')
def warning(self, message, only_once=False):
if self._ydl:
self._ydl.report_warning(message, only_once)
def error(self, message):
if self._ydl:
self._ydl.report_error(message)
class YDLLogger(_YDLLogger):
def warning(self, message, only_once=False): # compat
return super().warning(message, once=only_once)
class ProgressBar(MultilinePrinter):
_DELAY, _timer = 0.1, 0

View file

@ -5994,3 +5994,33 @@ def calculate_preference(self, format):
format['tbr'] = try_call(lambda: format['vbr'] + format['abr']) or None
return tuple(self._calculate_field_preference(format, field) for field in self._order)
# XXX: Temporary
class _YDLLogger:
def __init__(self, ydl=None):
self._ydl = ydl
def debug(self, message):
if self._ydl:
self._ydl.write_debug(message)
def info(self, message):
if self._ydl:
self._ydl.to_screen(message)
def warning(self, message, *, once=False):
if self._ydl:
self._ydl.report_warning(message, only_once=once)
def error(self, message, *, is_error=True):
if self._ydl:
self._ydl.report_error(message, is_error=is_error)
def stdout(self, message):
if self._ydl:
self._ydl.to_stdout(message)
def stderr(self, message):
if self._ydl:
self._ydl.to_stderr(message)