-#!/usr/bin/env python
-# coding: utf-8
-from __future__ import unicode_literals
+#!/usr/bin/env python3
# Allow direct execution
import os
-import re
import sys
import unittest
+
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-from test.helper import http_server_port, try_rm
-from youtube_dlc import YoutubeDL
-from youtube_dlc.compat import compat_http_server
-from youtube_dlc.downloader.http import HttpFD
-from youtube_dlc.utils import encodeFilename
+
+import http.server
+import re
import threading
+from test.helper import http_server_port, try_rm
+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__))
TEST_SIZE = 10 * 1024
-class HTTPTestRequestHandler(compat_http_server.BaseHTTPRequestHandler):
+class HTTPTestRequestHandler(http.server.BaseHTTPRequestHandler):
def log_message(self, format, *args):
pass
end = int(mobj.group(2))
valid_range = start is not None and end is not None
if valid_range:
- content_range = 'bytes %d-%d' % (start, end)
+ content_range = f'bytes {start}-{end}'
if total:
- content_range += '/%d' % total
+ content_range += f'/{total}'
self.send_header('Content-Range', content_range)
return (end - start + 1) if valid_range else total
assert False
-class FakeLogger(object):
- def debug(self, msg):
- pass
-
- def warning(self, msg):
- pass
-
- def error(self, msg):
- pass
-
-
class TestHttpFD(unittest.TestCase):
def setUp(self):
- self.httpd = compat_http_server.HTTPServer(
+ self.httpd = http.server.HTTPServer(
('127.0.0.1', 0), HTTPTestRequestHandler)
self.port = http_server_port(self.httpd)
self.server_thread = threading.Thread(target=self.httpd.serve_forever)
filename = 'testfile.mp4'
try_rm(encodeFilename(filename))
self.assertTrue(downloader.real_download(filename, {
- 'url': 'http://127.0.0.1:%d/%s' % (self.port, ep),
- }))
- self.assertEqual(os.path.getsize(encodeFilename(filename)), TEST_SIZE)
+ 'url': f'http://127.0.0.1:{self.port}/{ep}',
+ }), ep)
+ self.assertEqual(os.path.getsize(encodeFilename(filename)), TEST_SIZE, ep)
try_rm(encodeFilename(filename))
def download_all(self, params):