fix: _is_direct_url label-boundary host match (no notyoutube.com false positive)
Review finding: bare endswith routed look-alike hosts to the direct yt-dlp path. Match on a domain-label boundary and drop the redundant _DIRECT_HOSTS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -88,6 +88,20 @@ def test_is_direct_url_youtube_playlist_true():
|
||||
assert mf._is_direct_url("https://www.youtube.com/playlist?list=PLabc")
|
||||
|
||||
|
||||
def test_is_direct_url_lookalike_hosts_false():
|
||||
# Trailing-substring look-alikes must NOT be treated as direct (label boundary).
|
||||
assert not mf._is_direct_url("https://notyoutube.com/watch?v=abc")
|
||||
assert not mf._is_direct_url("https://myyoutube.com/x")
|
||||
assert not mf._is_direct_url("https://evilyoutu.be/x")
|
||||
assert not mf._is_direct_url("https://youtube.com.evil.com/x")
|
||||
|
||||
|
||||
def test_is_direct_url_subdomains_true():
|
||||
assert mf._is_direct_url("https://m.youtube.com/watch?v=abc")
|
||||
assert mf._is_direct_url("https://on.soundcloud.com/x")
|
||||
assert mf._is_direct_url("https://api.soundcloud.com/tracks/1")
|
||||
|
||||
|
||||
def _resolved(yt="https://music.youtube.com/watch?v=YYY"):
|
||||
return mf.Resolved(title="Bloom", artist="ODESZA",
|
||||
thumb="https://img/cover.jpg", youtube_url=yt)
|
||||
|
||||
Reference in New Issue
Block a user