[utils] base_url: URL paths can contain & (yt-dlp#4841)

This commit is contained in:
Ryan Welton 2023-01-23 13:43:49 -05:00
parent 195f22f679
commit 6e34e8f579
2 changed files with 2 additions and 1 deletions

View File

@ -540,6 +540,7 @@ class TestUtil(unittest.TestCase):
self.assertEqual(base_url('http://foo.de/bar/'), 'http://foo.de/bar/') self.assertEqual(base_url('http://foo.de/bar/'), 'http://foo.de/bar/')
self.assertEqual(base_url('http://foo.de/bar/baz'), 'http://foo.de/bar/') self.assertEqual(base_url('http://foo.de/bar/baz'), 'http://foo.de/bar/')
self.assertEqual(base_url('http://foo.de/bar/baz?x=z/x/c'), 'http://foo.de/bar/') self.assertEqual(base_url('http://foo.de/bar/baz?x=z/x/c'), 'http://foo.de/bar/')
self.assertEqual(base_url('http://foo.de/bar/baz&x=z&w=y/x/c'), 'http://foo.de/bar/baz&x=z&w=y/x/')
def test_urljoin(self): def test_urljoin(self):
self.assertEqual(urljoin('http://foo.de/', '/a/b/c.txt'), 'http://foo.de/a/b/c.txt') self.assertEqual(urljoin('http://foo.de/', '/a/b/c.txt'), 'http://foo.de/a/b/c.txt')

View File

@ -3678,7 +3678,7 @@ def url_basename(url):
def base_url(url): def base_url(url):
return re.match(r'https?://[^?#&]+/', url).group() return re.match(r'https?://[^?#]+/', url).group()
def urljoin(base, path): def urljoin(base, path):