Compare commits
4 Commits
c0503187c5
...
7951c436dd
| Author | SHA1 | Date | |
|---|---|---|---|
| 7951c436dd | |||
| 8b881c14bf | |||
| 530b5b0406 | |||
| 0a4e6d474a |
@@ -618,6 +618,9 @@ def yt_download(url_or_query: str, target_folder: Optional[str], quality: str, d
|
|||||||
cmd += ["--parse-metadata", f"{hit.title}:%(title)s"]
|
cmd += ["--parse-metadata", f"{hit.title}:%(title)s"]
|
||||||
if hit.year:
|
if hit.year:
|
||||||
cmd += ["--parse-metadata", f"{hit.year}:%(release_year)s"]
|
cmd += ["--parse-metadata", f"{hit.year}:%(release_year)s"]
|
||||||
|
# Always embed an album: the resolved/native album if present, else a
|
||||||
|
# placeholder so players (e.g. Plexamp) don't choke on a blank album.
|
||||||
|
cmd += ["--parse-metadata", "%(album|Unknown Album)s:%(meta_album)s"]
|
||||||
cmd.append(url_or_query)
|
cmd.append(url_or_query)
|
||||||
|
|
||||||
dest = outtmpl or target_folder
|
dest = outtmpl or target_folder
|
||||||
|
|||||||
@@ -4,3 +4,4 @@ requests
|
|||||||
ytmusicapi
|
ytmusicapi
|
||||||
rich
|
rich
|
||||||
yt-dlp
|
yt-dlp
|
||||||
|
mutagen
|
||||||
|
|||||||
@@ -102,3 +102,11 @@ def test_yt_download_returns_true_on_zero_exit(monkeypatch):
|
|||||||
|
|
||||||
def test_yt_download_dry_run_returns_true():
|
def test_yt_download_dry_run_returns_true():
|
||||||
assert mf.yt_download("u", "/tmp/x", "best", True) is True
|
assert mf.yt_download("u", "/tmp/x", "best", True) is True
|
||||||
|
|
||||||
|
|
||||||
|
def test_yt_download_always_sets_album_default(monkeypatch):
|
||||||
|
captured = {}
|
||||||
|
monkeypatch.setattr(mf.os, "makedirs", lambda *a, **k: None)
|
||||||
|
monkeypatch.setattr(mf.subprocess, "run", lambda cmd, **k: captured.update(cmd=cmd) or _CP(""))
|
||||||
|
mf.yt_download("u", "/tmp/x", "best", False)
|
||||||
|
assert "%(album|Unknown Album)s:%(meta_album)s" in captured["cmd"]
|
||||||
|
|||||||
Reference in New Issue
Block a user