🐛 ALBUMARTIST metadata tag is now correct (#97)

This commit is contained in:
Oskar Dudziński
2025-02-24 14:53:18 +01:00
committed by GitHub
parent ab57b700f0
commit a3c744b06c
2 changed files with 22 additions and 7 deletions
+13 -2
View File
@@ -124,6 +124,7 @@ def DownloadCommand(
path: Path,
cover_data=b"",
credits: List[AlbumItemsCredits.ItemWithCredits.CreditsEntry] = [],
album_artist="",
):
if isinstance(item, Track):
track_stream = api.getTrackStream(item.id, quality=DOWNLOAD_QUALITY)
@@ -205,7 +206,9 @@ def DownloadCommand(
cover_data = Cover(item.album.cover).content
try:
addMetadata(path, item, cover_data, credits)
addMetadata(
path, item, cover_data, credits, album_artist=album_artist
)
except Exception as e:
logging.error(f"Can not add metadata to: {path}, {e}")
@@ -235,6 +238,7 @@ def DownloadCommand(
filename: str,
cover_data=b"",
credits: List[AlbumItemsCredits.ItemWithCredits.CreditsEntry] = [],
album_artist="",
):
if not item.allowStreaming:
logging.warning(
@@ -261,6 +265,7 @@ def DownloadCommand(
path=path,
cover_data=cover_data,
credits=credits,
album_artist=album_artist,
)
def downloadAlbum(album: Album):
@@ -280,7 +285,13 @@ def DownloadCommand(
album_artist=album.artist.name,
)
submitItem(item.item, filename, cover_data, item.credits)
submitItem(
item.item,
filename,
cover_data,
item.credits,
album.artist.name,
)
if (
album_items.limit + album_items.offset
+9 -5
View File
@@ -22,6 +22,7 @@ def addMetadata(
track: Track,
cover_data=b"",
credits: List[AlbumItemsCredits.ItemWithCredits.CreditsEntry] = [],
album_artist="",
):
logger.debug((track_path, track.id))
@@ -42,20 +43,23 @@ def addMetadata(
metadata["TRACKNUMBER"] = str(track.trackNumber)
metadata["DISCNUMBER"] = str(track.volumeNumber)
if track.artist:
metadata["ARTIST"] = track.artist.name
metadata["ARTISTS"] = [artist.name for artist in track.artists]
metadata["ALBUM"] = track.album.title
metadata["ALBUMARTIST"] = ", ".join(
metadata["ARTIST"] = "; ".join(
[artist.name.strip() for artist in track.artists]
)
if album_artist:
metadata["ALBUMARTIST"] = album_artist
elif track.artist:
metadata["ALBUMARTIST"] = track.artist.name
if track.streamStartDate:
metadata["DATE"] = track.streamStartDate.strftime("%Y-%m-%d")
metadata["ORIGINALDATE"] = track.streamStartDate.strftime(
"%Y-%m-%d"
)
metadata["YEAR"] = str(track.streamStartDate.strftime("%Y"))
metadata["ORIGINALYEAR"] = str(track.streamStartDate.strftime("%Y"))
if track.copyright: